MsBuild:不要编译引用的项目

6
我有以下项目结构:
SLN
    libA
    libB (references libA)
    exeWPF (references libA and libB)

我使用NAnt来编译libA和libB,使用csc,但我无法在WPF项目中使用csc,因为XAML目标不能用NAnt编译,所以我在NAnt项目中使用了一个MSBuild任务。
问题是,当我启动完整的构建时,libA和libB已经被NAnt编译过了,然后当启动MSBuild任务时,exeWPF csproj文件引用了libA和libB项目,所以这些库被再次编译了。
另一种选择是,不使用项目引用libAlibB,而是在exeWPF csproj文件中将它们作为dlls引用。问题是,在这种情况下,我失去了代码和导航到引用的功能。
对我来说,解决方案是能够从MSBuild任务中指定对MsBuild项目的引用。
1个回答

10
您可以像这样构建您的exeWPF项目。
msbuild exeWPF.csproj /p:BuildProjectReferences=false

属性BuildProjectReferences将阻止MSBuild构建引用,它将被强制使用预先构建的程序集来提取引用的元数据,如果引用的程序集不存在,则构建会失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接