未能从程序集中加载类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未能从程序集中加载类相关的知识,希望对你有一定的参考价值。

修改原网站时增加了3个类文件整合网站,部署中IIS中运行报错
未能从程序集“BLL, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”
中加载类型“BLL.XXManager”。我已经把修改后生成的dll拷贝到原网站中了。怎么还会报找不到类呢

重新编译一下,然后再发布,就可以了。造成这种现象的原因是你的BLL.xxManager并没有在新的编译文件中注册。追问

重新编译了,我现在只有打包部署好的原网站,原网站在服务器上,只需用把修改后的文件替换原有的文件,把修改后生成的dll拷贝到原网站中,dll是有了,而且每次编辑生成的dll名称不同,还是找不到类

追答

编译后,整个解决方案有一个DLL,就是在BIN/DEBUG下,你看看这个文件是不是没有发布

参考技术A 不能只是把dll文件拷贝过去,程序中还需要加载引用追问

我在表示层中添加bll和model层的引用,在开发环境中运行正常但是在IIS中就报找不到类

追答

建议重新打包部署

本回答被提问者采纳
参考技术B 在这个dll上右键“属性”,看看路径对不对 参考技术C 没有引用BLL.XXManager吧。你看看你有引用这个文件没 参考技术D 求解

无法从程序集中加载类型

【中文标题】无法从程序集中加载类型【英文标题】:Cannot load type from assembly 【发布时间】:2019-03-02 05:26:06 【问题描述】:

我正在研究来自MSDN MarshalByRefObject 的代码我无法弄清楚为什么这会引发异常。我在想它是否可能是 Worker 类型与类 Program 在同一个程序集中?我是否需要在 GAC 中安装此程序集,尽管我在 Visual Studio 2017 编辑器中以调试模式运行它。我对如何使用汇编没有扎实的了解。

using System;
using System.Reflection;

namespace AppDomainMarshalByRefObject


    public class Program
    
        public static void Main(string[] args)
        
            Worker localWorker = new Worker();
            localWorker.PrintDomain();

            AppDomain ad = AppDomain.CreateDomain("New domain");
            Worker remoteWokrer = (Worker)ad.CreateInstanceAndUnwrap(typeof(Worker).Assembly.FullName, "Worker");

            remoteWokrer.PrintDomain();
            Console.ReadKey();
        
    

    public class Worker : MarshalByRefObject
    
        public void PrintDomain()
        
            Console.WriteLine("Object is executing in AppDomain \"0\"",
            AppDomain.CurrentDomain.FriendlyName);
        
    

【问题讨论】:

【参考方案1】:

您实例化了一个不完整的typename。将此添加到您的代码中:

public static void Main(string[] args)
    
        ...

        var typeName = typeof(Worker);

        AppDomain ad = AppDomain.CreateDomain("New domain");
        Worker remoteWokrer = (Worker)ad.CreateInstanceAndUnwrap(typeof(Worker).Assembly.FullName, typeName.FullName);

        ...
    

【讨论】:

以上是关于未能从程序集中加载类的主要内容,如果未能解决你的问题,请参考以下文章

未能加载的文件或程序集.怎么解决

未能加载的文件或程序集.怎么解决

未能加载的文件或程序集 怎么解决

asp.net中未能加载文件或程序集

程序集加载的问题?

未能加载的文件或程序集.怎么解决