2013-01-04 23 views
3

我正在實現一個支持插件的ASP.NET MVC 4應用程序,因爲今天我有一個奇怪的行爲,我不知道爲什麼:
我加載插件通過Assembly.Load(path)幾天前工作正常,但鎖定我的文件作爲影子複製不起作用,因爲插件文件夾在/bin以外。
因爲這個,我使用了Assembly.Load(File.ReadAllBytes(path))這也很好,但我認爲不是很乾淨的代碼,所以今天我將我的插件文件夾移動到/bin裏,並切換回Assembly.Load(path),但現在我得到以下異常在我的區域)執行我的代碼時:使用Assembly.Load時發現文件或程序集(路徑)

無法加載文件或程序集「PATH_TO_MY_DLL」或它的一個依賴。給定的程序集名稱或代碼庫無效。 (異常來自HRESULT:0x80131047)

如果我切換回Assembly.Load(File.ReadAllBytes(path))它的工作原理,但爲什麼它不加載文件時直接工作了?

回答

4

我認爲你在改變它的時候犯了一個錯誤。

Assembly.Load(string name):加載名爲「name」的程序集。

你應該使用:

Assembly.LoadFile(path); 
+0

謝謝,這實際上是問題 - 我的錯,對不起...... – ChrFin

相關問題