仅针对托管代码构建

时间:2015-09-11 17:02:07

标签: visual-studio-2013 msbuild

有没有办法避免构建dll的所有引用以模拟托管dll的“仅构建”?

1 个答案:

答案 0 :(得分:1)

如果您阅读文件%ProgramFiles(x86)%\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets,您会发现在目标ResolveProjectReferences中构建引用项目取决于属性测试'$(BuildPassReferences)' == 'true'

如果在MSBuild invocaton上将此属性设置为false,则不会重建引用:

msbuild ... /properties:BuildPassReferences=false,...

请注意,这不是受支持的功能,如果引用项目的输出不存在,您的编译可能会真正失败。与使用包含文件来解析外部引用的C ++不同,托管编译需要现有的引用DLL。

所以答案是肯定的,它是可能的,不受支持的,以及迈向麻烦的明确步骤,除非你想要实现的目标是非常具体和狭隘的。