【问题标题】:Could not load file or assembly when starting complex ASP.NET Core application启动复杂的 ASP.NET Core 应用程序时无法加载文件或程序集
【发布时间】:2017-06-02 11:59:25
【问题描述】:

我有复杂的 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 中,所以我不知道为什么它们不能找到了。

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

【问题讨论】:

    标签: c# dll asp.net-core


    【解决方案1】:

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

    【讨论】:

    • 我已经尝试过清理和重建,一次又一次地检查。一个参考是什么意思?
    • 也许this 会有所帮助
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      相关资源
      最近更新 更多