尝试使用C#控制台应用程序构建我的ASP.Net解决方案时出现此错误:
MSBUILD:警告MSB4056:必须在a上调用MSBuild引擎 单线程的公寓。当前的线程模型是“MTA”。 继续,但某些任务可能无法正常运行。
这是我的代码:
Engine engine = new Engine();
engine.BinPath = @"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319";
FileLogger logger = new FileLogger();
logger.Parameters = @"logfile=C:\temp\build.log";
engine.RegisterLogger(logger);
bool success = engine.BuildProjectFile(ConfigurationSettings.AppSettings["ProjectPath"]);
engine.UnregisterAllLoggers();
if (success)
Console.WriteLine("Build succeeded.");
else
Console.WriteLine(@"Build failed. View C:\temp\build.log for details");
答案 0 :(得分:1)
使用[STAThread]
装饰主方法。
也就是说,如果您可以调用COM方法的任务,那么唯一可能导致的问题。换句话说,忽略它通常是安全的。