3

C# コンソール アプリケーションを使用して ASP.Net ソリューションをビルドしようとすると、次のエラーが発生します。

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");
4

1 に答える 1

1

main メソッドを で装飾するだけ[STAThread]です。

つまり、COM メソッドを呼び出すタスクを実行できる場合に発生する可能性がある唯一の問題です。つまり、一般的には無視しても問題ありません。

于 2013-03-06T06:56:57.523 に答える