.netCore 反射 :Could not load file or assembly 系統找不到指定文件


 

 

  “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)

然后想着 那異常提示找不到路徑,那我們在這里配置下不久可以了?

然后改成如下:

 

 

這時候我們運行程序:

完美!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM