1
與this thread不太一樣,但非常接近。在運行時編譯的DotNET代碼中拋出異常的Linenumber
我的程序允許人們輸入一些VB或C#代碼,它們在運行時被編譯,加載和執行。我CompilerParams是:
CompilerParameters params = new CompilerParameters();
params.GenerateExecutable = false;
params.GenerateInMemory = true;
params.IncludeDebugInformation = false;
params.TreatWarningsAsErrors = false;
params.WarningLevel = 4;
此代碼時會拋出一個異常,我想能夠顯示一個消息框,幫助用戶調試他們的代碼。例外消息很容易,但行號是我卡住的地方。
我懷疑爲了得到行號,我可能需要徹底改變CompilerParameters,甚至是這些dll的存儲/加載方式。
有沒有人知道讓這個工作所需的最少步驟?
感謝湯姆完整的堆棧跟蹤,我是怕他回答。現在我必須找出一種方法來在我的應用程序關閉後刪除所有這些dll和pdb文件*有關於此的任何想法? – 2009-10-12 02:39:36
只是在Windows Temp目錄中創建它們,所以Windows需要照顧它:Path.GetTempFileName() – TJF 2009-10-12 02:45:36
這就是我放置它們的位置,但是該文件夾在我的機器上接近1Gig,如果有人正在照顧它,做一個馬虎的工作... – 2009-10-12 02:47:29