我正在爲用戶提供動態編譯C#代碼的c#codedom項目。 我在添加wpf的程序集dll時遇到了錯誤(對於winforms它工作正常)。當我嘗試添加像「System.Windows.Media」這樣的引用時,它說「在程序集中找不到####。是否缺少一些引用」。但是當我通過它的dll路徑添加引用時,如「C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.0 \ System.Printing.dll」,那麼它就會說「File C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.0 \ System.Printing.dll not found「,但是當我將System.Printing.dll放到應用程序可執行文件夾時,它工作正常。從C#codedom編譯參數中的dll中添加程序集的錯誤
以下是我使用添加引用編譯器選項的代碼:
CompilerParameters oParameters;
:
:
:
string lcAssemblyDll="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\System.Printing.dll";
oParameters.ReferencedAssemblies.Add(lcAssemblyDll);
我無法理解的問題。還有沒有其他的方法來添加wpf程序集?
感謝
謝謝!但是我正在創建一個新的AppDomain來即時編譯代碼。此外,放置在應用程序目錄中的程序集也可以毫無問題地加載。當我嘗試添加放置在其他位置的組件時,問題即將到來。 – 2010-11-16 08:08:30