System.IO.FileNotFoundException:无法加载文件或程序集Microsoft.Extensions.Caching.Abstractions

问题描述 投票:0回答:1

我正在运行一个使用nuget程序包Microsoft.Extensions.Caching.Memory的.Net Standard项目,并且是从.Net Framework ASP.Net Web项目中调用的。当运行引用此nuget包的代码时,出现以下错误:

System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Extensions.Caching.Abstractions, Version=3.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The system cannot find the file specified.'

我尝试将Microsoft.Extensions.Caching.Abstractions nuget程序包添加到我的.Net Standard项目中,但没有帮助。我也曾尝试将以下内容添加到我的.Net Framework项目中,但也无济于事:

<PropertyGroup>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>

有人解决此问题吗?没有其他项目引用Microsoft.Extensions.Caching.Abstractions,所以我不知道为什么它找不到正确的版本。

.net .net-4.0 .net-standard-2.1
1个回答
0
投票

通过添加其他框架绑定,我能够解决此.Net Standard dll地狱。我称为.Net Standard项目的.Net Framework版本是我无法升级的所有4.6.2,升级到4.7。*可能也已解决,但我没有尝试过,因为它在我的产品中不可行案件。上面介绍的所有其他解决方案均无效,并且由于某些原因无法加载nuget软件包的.dll。

在我的.Net Standard项目中,我更改了:

<TargetFramework>netstandard2.0</TargetFramework>

至:

<TargetFrameworks>netstandard2.0;net462;net47</TargetFrameworks>

这当然会根据您需要构建的所有框架来编译您的项目。

© www.soinside.com 2019 - 2024. All rights reserved.