首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MSBuild以编程方式构建解决方案

使用MSBuild以编程方式构建解决方案
EN

Stack Overflow用户
提问于 2012-09-30 09:09:02
回答 1查看 3.7K关注 0票数 1

我正在为我的公司写一个实用程序,将批量建立一系列的解决方案在一个点击的方式。总共大约有8个解决方案,每个解决方案平均有20个项目。该实用程序需要能够捕获每个解决方案的构建日志和错误总数,就像在命令行构建时所做的那样。我知道这是完成这件事的命令

代码语言:javascript
复制
msbuild mysolution.sln /t:build /verbosity:minimal /maxcpucount:xx

但是,如果可能的话,我想使用Microsoft.Build.Evaluation应用程序接口。我知道project对象可以加载单个项目,但有没有构建整个解决方案的方法?我打算构建这个实用程序来利用系统上的所有cpus/核心,并同时构建多个解决方案。我已经看过Microsoft.Build.Evaluation的MSDN页面,尽管文档(仍然)糟糕透顶。

感谢您能提供的任何帮助!

杰森

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-30 09:57:01

生成多个项目不需要Visual Studio解决方案文件(sln)。正如您可能知道的,Visual Studio项目文件只是MSBuild XML文件,它们可以落入其他项目文件中。因此,构建一个项目文件,用于根据需要构建其他项目。这可以通过以下两种方式之一来完成。

首先,解决方案文件只是XML,所以任何可以生成MSBuild的东西都可以生成解决方案。有关详细信息,请参阅MSBuild XML Schema

其次,使用接受Microsoft.Build.Construction.ProjectRootElement实例的构造函数以编程方式构造Microsoft.Build.Evaluation.Project,然后调用Project.Build()ProjectRootElement具有用于添加常见元素类型的方法,如CreateTaskElement()CreatePropertyElement()CreateTargetElement()

另请参阅:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12657861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档