我出現這種情況的代碼是
static readonly string AssemblyName = ConfigurationSettings.AppSettings["DalAssemblyName"];
public static IDAL.IDepartment CreateDepartment()
{
string ClassNamespace = AssemblyName + ".Department";
object objType = Assembly.Load(AssemblyName).CreateInstance(ClassNamespace);
return (IDAL.IDepartment) objType;
}
然後配置檔案如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings>
<add key="DalAssemblyName" value="DAL"/>
</appSettings>
</configuration>
我的項目如下

網上找資料各種看不懂,試了各種辦法。最開始根據提示說找不到“DAL”,我想可能是在DalFactory中沒有引用的原因,但是添加引用之後還是報錯。後面看到這篇文章靈感文章,當時沒有特别注意他說的把.dll檔案拷貝到UI目錄下;後面突然想到,在UI項目裡引用DAL,然後問題就解決了。我想可能最開始是在UI項目裡面申請建立一個新的Department對象,是以要在UI裡面引用DAL,而不是在DalFactory裡面引用(隻是猜測)。
**
是以,解決辦法:
**
點選UI目錄下的引用,然後右鍵,然後添加引用,最後把DAL添加進來就OK了。