繁体   English   中英

启动复杂的 ASP.NET Core 应用程序时无法加载文件或程序集

[英]Could not load file or assembly when starting complex ASP.NET Core application

我有复杂的 ASP.NET Core 解决方案,其中包括:

  • Web 部件,即 ASP.NET Core Web Api 项目
  • 其他部分,即 .NET Core 类库

我想向此类库添加扩展方法,以便他们可以自行注册,例如:

public static IServiceCollection AddThisLibrary(this IServiceCollection services)
{
    //a lot of addTransient...
    return services;
}

我在ConfigureServices方法的Startup类中使用它,如下所示:

services.AddThisLibrary();

问题是,当我启动我的应用程序时,它抛出异常:

启动应用程序时发生错误。 FileNotFoundException:无法加载文件或程序集“MyProject.API.Service,版本=1.0.0.0,文化=中性,PublicKeyToken=null”。 系统找不到指定的文件。 MyProject.API.Web.Startup.ConfigureServices(IServiceCollection 服务)

对于我的每个图书馆。

我检查了/bin/Debug文件夹,在那里我的所有类库都内置在DLL 中,所以我不知道为什么找不到它们。

如何正确编写此类扩展方法并删除该异常?

您应该检查您的 dll 是否与它尝试加载的版本相同,我建议去您的参考资料,删除现有的,去您的程序集删除它,然后清理,然后将其添加到再次参考,构建。 确保你只有一个参考。

我的情况可能很具体,但是当将目标从 .net core 3.1 更改为 .net 5 时,我遇到了这个错误。 deploy 文件夹中的一些文件仍然来自以前的部署。 我再次清理发布的文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM