【问题标题】:Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=3.0.0.0无法加载文件或程序集 'Microsoft.Extensions.Configuration.Abstractions,版本 = 3.0.0.0
【发布时间】:2021-02-28 07:07:50
【问题描述】:

我正在将我的 .NET 标准 2.0 类库应用程序迁移到 .NET core 3.0,我想从类库启动 Web API 服务器,其中类库应用程序正在以可执行文件启动。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
    <AppendTargetFrameworkToOutputPath>true</AppendTargetFrameworkToOutputPath>
  </PropertyGroup>

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
  
  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.0.0" />
    <PackageReference Include="RestSharp" Version="106.6.10" />
  </ItemGroup>
</Project>

当类库应用程序使用可执行文件启动时,它会抛出如下错误。

创建类型的实例 “MySampleDll”失败:无法加载 文件或程序集 'Microsoft.Extensions.Configuration.Abstractions, 版本=3.0.0.0,文化=中性,PublicKeyToken=adb9793829ddae60'。 系统找不到指定的文件。

当我从 nuget 包下载 Microsoft.Extensions.Configuration.Abstractions 并手动将库保存在输出目录中时。它会引发新错误,提示找不到 Microsoft.AspNetCore 3.0.0。 请帮助我做错了什么。

【问题讨论】:

  • 你现在的目标框架是什么?确保您选择了 .net core 3。您拥有哪个版本的 VS?你有 .net core 3 SDK 吗?
  • Visual Studio 2019 16.7.7。目标框架是 .Net core 3.0
  • 我已附上我的工作站中安装的 SDK 列表的图像
  • 为什么要迁移?
  • 我想在我的类库中添加 Web API 服务器,所以我想迁移并使用 WebHostBuilder。

标签: c# .net-core asp.net-core-3.0


【解决方案1】:

摆脱Microsoft.AspNetCore.App,不再需要它,如Microsoft documentation 中所述。

另外,请考虑升级到 .NET Core 3.1,这是一个 LTS 版本。 .NET Core 3.0 has already reached end of life and is no longer supported.

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    相关资源
    最近更新 更多