在VS 2012中编译前修改c#代码
本文关键字:修改 代码 编译 VS 2012 | 更新日期: 2023-09-27 18:18:15
我有一个类似的问题,就像这里的问题:创建MSBuild自定义任务来修改c#代码*之前*编译
我需要在编译前更改。cs文件。当然,由于版本控制,我不希望它们被修改。我已经发现,自定义MSBuild任务可能是完成这项工作的正确选择。
摘自上述问题的答案:
创建自定义任务,该任务接受要在编译之前调整的cs文件列表
- 自定义任务调整接收到的文件列表并在磁盘 上创建它们
- 自定义任务在输出参数 上设置更改的文件列表
- 任务的输出将替换原来的cs文件列表
- 对修改后的文件进行编译。
解决方案似乎清晰而精细,但我无法找到的(全部用于Visual Studio 2012):
- 任务应该得到什么目标?BeforeCompile还是太晚了?
- 我怎么能给"文件编译"作为参数进入任务?它是如何定义的?
- 如何准确定义输出以便编译使用修改后的文件?
谢谢,如果有人能帮我举个例子就太好了:-)
我的一个客户要求我在编译之前替换一些AssemblyInfo.cs文件中的一些版本和版权信息。我正在通过带有RegEx的FileUpdate任务做到这一点。这当然会导致文件被修改。但这完全没有问题,只需使用Exec任务并在构建作业结束时运行"svn revert":
<Target Name="RevertModifications">
<Message Text="reverting modifications..." />
<Exec Command="svn revert -R $(RootDir)"/>
</Target>
也许这有帮助?