我有一些批处理代码:
Path=C:\Windows\Microsoft.NET\Framework64\v4.0.30319
ECHO Trying TFS build...
msbuild D:\WORK\project\project.sln /p:Config="Debug" /p:Platform="Any CPU" /flp1:logfile=BuildLogProject.txt
那是正确的。我想在我的 C# 应用程序中使用 MSBuild。
我添加了 Microsoft.Build.Engine 参考,我正在使用 Engine 类。我写了一些代码。但它不起作用。
当我使用 Visual Studio 或批处理程序构建项目时“构建成功”。当我使用我的程序构建项目时,它会发现项目中没有的错误和警告。
Engine engine = new Engine();
engine.BinPath = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319";
FileLogger logger = new FileLogger();
logger.Parameters = @"logfile=D:\WORK\project\BuildLogProject.txt";
engine.RegisterLogger(logger);
string projectPath = @"D:\WORK\project\project.sln";
try
{
bool success = engine.BuildProjectFile(projectPath);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
finally
{
engine.UnregisterAllLoggers();
engine.UnloadAllProjects();
}