我出现这种情况的代码是
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了。