Running MSBuild programmatically(以编程方式运行 MSBuild)
问题描述
我正在尝试以编程方式执行 MSBuild,但无法执行以下命令:
I am trying to execute MSBuild programmatically and can't execute the following command:
string command = string.Format(@"C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild.exe ""{0}{1}.csproj""", _args.ProjectPath, _args.ProjectName);
字符串被渲染为:
C:WindowsMicrosoft.NETFrameworkv4.0.30319msbuild.exe "C:...TestResultsFoo 2011-08-31 16_29_40OutFoosolutionNameprojectNameprojectName.csproj"
然后我使用新的 ProcessStartInfo(command).问题似乎是 Foo 和 2011 之间的空间.我得到以下输出:
I then use new ProcessStartInfo(command). The problem seems to be the space between Foo and 2011. I get the following output:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: 16_29_40OutFoosolutionNameprojectNameprojectName.csproj
如何将项目文件传递给 MSBuild?
How do I pass in the project file to MSBuild?
推荐答案
我会推荐 stronlgy 通过 Microsoft.Build
命名空间.微软到处都在使用它,所以这应该很重要......
I would recommend stronlgy to go the official route via classes/interfaces in Microsoft.Build
namespace. Microsoft uses this all over the place, so this should count for something...
特别是.类 Microsoft.Build.Execution.BuildManager
和 Singleton Microsoft.Build.Execution.BuildManager.DefaultBuildManager
是您运行构建任务所需要的...源代码示例:
Esp. the class Microsoft.Build.Execution.BuildManager
and the Singleton Microsoft.Build.Execution.BuildManager.DefaultBuildManager
is what you are after to run a build task... source code examples:
- http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/ec95c513-f972-45ad-b108-5fcfd27f39bc/
- 使用 MSBuild 4.0 记录构建消息
这篇关于以编程方式运行 MSBuild的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:以编程方式运行 MSBuild


- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- 输入按键事件处理程序 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- 如何用自己压缩一个 IEnumerable 2022-01-01