0
我的程序經常編譯c#代碼,有時候我得到了一個ArgumentException,例如「文件名'C:\ Users - \ AppData \ Local \ Temp \ wvpc3m5m.0.cs'已經在集合中。參數名稱:fileName「。編譯器的CSharpCodeProvider編譯異常
設置爲下一個:
public void Init()
{
this.compilerParameters = new CompilerParameters
{
GenerateExecutable = false,
GenerateInMemory = true
};
}
編譯:
public CompilerResults Compile(String code)
{
CompilerResults result = this.codeProvider
.CompileAssemblyFromSource(this.compilerParameters, code);
return result;
}
我認爲codeProvider寫傳遞的字符串到一個文件中,有時他嘗試在同一個文件中寫入兩次。
保持CodeProvider沒有意義。只需用* new *操作符創建一個新的。 –
我這樣做,但異常繼續投擲 – digger