Pet*_*nce 22 c# compiler-construction msbuild visual-studio
当MSBuild针对C#项目文件运行时,它是如何决定是否需要重建库(即调用csc)?
我想(但想确认):
Bri*_*ker 12
如果查看Microsoft.CSharp.targets(用于编译C#项目的MSBuild文件),CoreCompile目标会定义一组输入和输出.这些用于执行依赖性检查以查看CoreCompile是否需要运行.输入列表包括C#文件,资源文件,应用程序图标,强名称密钥文件以及您可以定义的其他自定义输入.
如果您有解决方案并在其上运行MSBuild并启用了诊断日志记录(/ v:diag命令行参数),则如果输出是最新的,您可能会看到此消息:
跳过目标"CoreCompile",因为所有输出文件都是与输入文件相关的最新文件.
目标文件位于.NET Framework目录(C:\windows\Microsoft.NET\Framework\v3.5 or v4.0.30319)中.