mmu*_*lva 41 c# msbuild visual-studio
我有一个解决方案,里面有很多解决方案文件夹,里面有很多c#项目.
如何从命令行仅构建/重建其中一个项目?
我想有一些方法可以使用msbuild
但我对msbuild一无所知.
谢谢!
C J*_*son 98
给定一个包含项目的解决方案文件,并且您希望构建/重建一个项目.
MSDN上的这个网页列出了你要做的事情:
http://msdn.microsoft.com/en-us/library/ms171486.aspx
所以给出了一个带有项目的解决方案文件mysolution.sln:
它们都是从底部到顶部依次相互依赖的地方.所以这baz
是最独立的,bar
取决于baz
并foo
取决于bar
.
如果你想构建foo,那么你可以:
MSBuild mysolution.sln /target:foo
Run Code Online (Sandbox Code Playgroud)
这里的其他答案没有考虑依赖关系.当然msbuild.exe将构建一个项目文件(即foo.vcxproj),但如果bar和baz尚未构建,它将失败.为了构建多个项目并首先构建独立项目,您必须传入解决方案文件(毕竟OP确实提到这是解决方案文件的一部分).然后传入项目名称和冒号分隔的目标.
MSBuild mysolution.sln /target:foo:Rebuild
Run Code Online (Sandbox Code Playgroud)
这里的假设很大.我假设项目名称$(ProjectName)与文件名匹配.
编辑(来自评论):如果项目名称中恰好有点(.),则需要用下划线(_)替换它们.
Joe*_*nos 24
您可以简单地调用msbuild
并传递您要构建的.csproj/.vbproj项目文件,它只会执行该文件.
所以类似于:
cd \MySolution
msbuild .\Project1\Project1.csproj
Run Code Online (Sandbox Code Playgroud)
您可以查阅此参考资料以了解有关从命令行使用 MSBuild 的更多信息。这是您需要的示例:
MSBuild.exe MyProject.proj /t:rebuild
Run Code Online (Sandbox Code Playgroud)