我想通过传递解决方案文件路径(.sln文件)和构建模式(debug、release)来编译解决方案。
我不想调用像devenv.exe或msbuild.exe这样的命令行进程。相反,我想使用API,并知道是否有编译错误。
这是否可能?
如果您认为知道如何做到这一点,请提供示例。
我不想调用像devenv.exe或msbuild.exe这样的命令行进程。相反,我想使用API,并知道是否有编译错误。
这是否可能?
如果您认为知道如何做到这一点,请提供示例。
你最终需要启动一个进程来进行编译,所以最好生成一个进程来启动编译。这比使用API要容易得多。
Andrew提供了一些关于如何实现的好建议,但我仍然认为那是错误的。
// Build a project file
bool success = engine.BuildProjectFile(@"c:\temp\validate.proj");
C:\Windows\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
从 msbuild.exe /? ...Microsoft (R) Build Engine Version
2.0.50727.4927 [Microsoft .NET Framework, Version 2.0.50727.4927]
Copyright (C) Microsoft Corporation
2005. All rights reserved.Syntax: MSBuild.exe
[options] [project file]...
Examples:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug