如何解决无法加载文件或程序集“Azure.Core”

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

任何人都可以解释为什么我们会收到诸如“无法加载文件或程序集”之类的错误。每当我专门在 azure sdk 中更新 nuget 引用时,我都会遇到此错误,并且由于缺乏知识,我很难非常奇怪地修复它们。您能解释一下这个错误吗? 我的意思是我可以消化这个错误,但我找不到真正的解决方案。

我已经明确决定我会理解这个错误并在这个平台上了解更多信息。如果您能一步步解释这一点,那将增加我的知识和核心生产力。

我对此类错误的了解非常有限,我们需要在 web.config 文件中添加一些代码。

<bindingRedirect oldVersion="0.0.0.0-0.0.0.1" newVersion="0.0.0.1" />

但说实话我不知道如何决定哪个版本需要替换旧版本和新版本。我最近将 Azure.Identity nuget 添加到我的项目中。

  <ItemGroup>
    <PackageReference Include="Azure.Identity" Version="1.5.0" />
    <PackageReference Include="Azure.Storage.Blobs" Version="12.10.0" />
 </ItemGroup>

例如,现在我一直在努力解决这个错误。

System.IO.FileLoadException
HResult=0x80131040
Message=Could not load file or assembly 'Azure.Core, Version=1.19.0.0, Culture=neutral, 
PublicKeyToken=92742159e12e44c8' or one of its dependencies. The located assembly's 
manifest definition does not match the assembly reference. (Exception from HRESULT: 
0x80131040)
Source=Azure.Storage.Blobs
StackTrace:

我知道要更改哪里来解决此错误,但不知道要更改什么。

c# azure-sdk-.net azure-identity
4个回答
20
投票

我一直在阅读这个url bounding-redirects的内容,了解了很多新知识。我通过将以下 xml 添加到我的 web.config 文件中修复了此错误。

<dependentAssembly>
    <assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.20.0.0" newVersion="1.20.0.0" />
</dependentAssembly>

为了处理此错误,该门户确实很有帮助https://nuget.info/packages/Azure.Core/1.20.0

注: 有时 Nuget 版本不是汇编版本。所以要小心。


3
投票

以防万一其他人发现这很有用。我在实际环境中出现错误,但在开发环境中一切正常。

简单地说,我无法使用开发环境中新创建的程序集绑定来更新实时环境中的 web.config 文件。

感谢 Pramod 的回答,它为我指明了解决问题的正确方向。


0
投票

就我而言,我已将 asp.net 5 更新为 asp.net 6,但没有更新

program.cs
以将
IHostBuilder
替换为
WebApplication
在生产中启动 asp.net 6 期间,我遇到了以下异常:应用程序无法加载程序集。

https://gist.github.com/davidfowl/0e0372c3c1d895c3ce195ba983b1e03d#change-the-content-root-application-name-and-environment


0
投票

对我来说,我能够通过升级/标准化 NuGet 包来解决这个问题。我知道有些人已经能够通过绑定重定向解决问题,但我已经尝试过但没有成功。我已经多次遇到“无法加载文件或程序集”的问题,并且每次我在不同的项目中都有不同的包版本。例如,如果我的测试项目有 Azure.Core v4.5,而我的类库有 v4.6,我会将较低版本升级到 4.6,然后错误就会消失。 无论如何,在您的项目中使用相同且最新的稳定包版本通常是一个好主意,因此除非您确实需要进行绑定重定向,否则我发现这是一个更好的解决方案。

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