如何在不检查依赖项的情况下构建C#项目?

给出一个解决方案:

>项目P1引用了P2
> P2引用了P3
> P3参考了P4

当你以这种方式调用msbuild时:

msbuild.exe /v:m "c:\mysolution\p1\p1.csproj"

如有必要,msbuild会检查所有项目依赖项是否构建依赖项.典型的输出是:

Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework,Version 4.0.30319.1]
copyright (C) Microsoft Corporation 2007. All rights reserved.

  P4 -> c:\mysolution\P4\bin\Debug\P4.dll
  p3 -> c:\mysolution\p3\bin\Debug\p3.dll
  p2 -> c:\mysolution\p2\bin\Debug\p2.dll
  p1 -> c:\mysolution\p1\bin\Debug\p1.dll

就我而言,我知道依赖存在并且没有问题.

有没有办法只构建项目p1.csproj而不验证依赖项?解决方案可以使用msbuild或其他内容.

你可以将/ p:BuildProjectReferences = false传递给msbuild,这将跳过构建项目的refence ..
但这有一个限制,如果您的解决方案配置和引用项目的配置不匹配,msbuild将无法解析引用项目的目标输出文件

这是一个免费的vs扩展包,你可以下载并试试
http://visualstudiogallery.msdn.microsoft.com/98de4058-8dc7-435b-9e01-c0f71dace808

vs package:Sharp Build Utility

我是这个扩展的作者,我对当前的工作有相同的要求,享受这个工具……

本质上,此扩展可以处理上述情况,它将生成构建项目文件的卷影副本,将所有项目引用更改为dll文件引用,并使用影子项目文件启动msbuild.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...