2013-03-06 65 views
3

,同時試圖使用C#控制檯應用程序來建立我的ASP.Net解決方案,我得到這個錯誤:警告MSB4056:MSBuild引擎必須叫上一個單線程的公寓

的MSBuild:警告MSB4056:必須在 單線程單元上調用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

非常感謝你。它工作得很好:) – 2013-03-06 06:55:49

+0

發佈它作爲答案。很高興我能幫上忙。 – leppie 2013-03-06 06:57:30

回答

1

[STAThread]只是裝飾的主要方法。

這就是說,如果您可以調用COM方法的任務,則可能會導致唯一的問題。換句話說,忽視它通常是安全的。

相關問題