標籤:class img logs stat alt 常用 開頭 nbsp 內容
“System.IO.FileNotFoundException:“Could not load file or assembly ‘ClassLibrary2, Culture=neutral, PublicKeyToken=null‘. 系統找不到指定的檔案。””
在 .net 程式開發中我們會經常用到反射,最近在開始慢慢接觸 .netCore。Core 反射的文法也是一樣的,所以寫下來也沒有什麼問題,但是一運行,就彈出了開頭的 異常。
項目結構如下
ClassLibrary3 是一個介面
namespace ClassLibrary3{ public interface IClass1 { void Print(); }}
ClassLibrary2 是 ClassLibrary3 的實現
namespace ClassLibrary2{ public class Class1:IClass1 { public void Print() { Console.WriteLine("Print....."); } }}
主程式通過反射擷取到到類型並建立對象
class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Assembly assembly = Assembly.Load(new AssemblyName("ClassLibrary2")); Type type = assembly.GetType("ClassLibrary2.Class1"); var instance = (IClass1)Activator.CreateInstance(type); instance.Print(); Console.ReadLine(); } }
這代碼都這裡沒有問題,但是執行的時候卻拋出了 開篇的異常。仔細檢查了下,ClassLibrary2 產生的 dll 確認已經是複製到了主程式目錄下。
剛開始接觸Core 也沒有系統去熟悉,最後經過多方努力後,發現在主程式項目下有個 deps.json 的檔案
檔案內容是這樣的(裡面沒有 ClassLibrary2 因為我們沒有在項目中引用 ClassLibrary2)
然後想著 那異常提示找不到路徑,那我們在這裡配置下不久可以了?
然後改成如下:
這時候我們運行程式:
完美!
.netCore 反射 :Could not load file or assembly 系統找不到指定檔案