実行時にいくつかの Dll ファイルを作成する必要があります。Dll は生成されていますが、このコードが実行された後に mvc アプリケーションがフリーズするようです。出力ウィンドウで、すべての Dll がアンロードされ、その後すべてがロードされていることがわかります。私は何を間違っていますか?
私のコード:
using (CSharpCodeProvider codeProvider = new CSharpCodeProvider())
{
CompilerParameters parameters = new CompilerParameters
{
ReferencedAssemblies =
{
string.Format("{0}\\{1}", binDirectory, "SomeDll.dll")
},
GenerateExecutable = false,
OutputAssembly = string.Format("{0}\\{1}", binDirectory, assemblyName)
};
var files = Directory.GetFiles(dataDirectory, "*.cs"); //get all generated cs files
var result = codeProvider.CompileAssemblyFromFile(parameters, files); //this line causes the application to freeze
codeProvider.Dispose(); //not sure if this is necessary
if (result.Errors.HasErrors)
{
throw new Exception(result.Errors.ToString());
}
}
私の出力:
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131239474882606992): アンロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0. 0__b03f5f7f11d50a3a\System.Web.dll'
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131239474882606992): アンロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\ System.dll'
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131239474882606992): アンロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0. 0__b77a5c561934e089\System.Core.dll'
(等)
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-2-131239476152101487): ロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0. 0__b03f5f7f11d50a3a\System.Web.dll'. シンボルの読み込みをスキップしました。モジュールは最適化され、デバッガー オプション 'Just My Code' が有効になっています。
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-2-131239476152101487): ロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\ System.dll'. シンボルの読み込みをスキップしました。モジュールは最適化され、デバッガー オプション 'Just My Code' が有効になっています。
'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-2-131239476152101487): ロードされた 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0. 0__b77a5c561934e089\System.Core.dll'. シンボルの読み込みをスキップしました。モジュールは最適化され、デバッガー オプション 'Just My Code' が有効になっています。
(等)