首页 > 解决方案 > 无法加载文件或程序集“Microsoft.Azure.Management.ServiceBus.Fluent”

问题描述

我正在从我的控制台应用程序处理 Azure 服务总线。我有一个单独的项目,并且我已经安装了 nuGet 包“Microsoft.Azure.Management.ServiceBus.Fluent”包来使用命名空间获取连接字符串。安装包并运行应用程序后,我得到这个异常:

System.IO.FileNotFoundException:'无法加载文件或程序集'Microsoft.Azure.Management.ServiceBus.Fluent,Version=1.0.0.66,Culture=neutral 或其依赖项之一。该系统找不到指定的文件。'

我该如何解决?如果我可以添加任何其他详细信息,请在评论中留下。

标签: c#visual-studionugetazureservicebus

解决方案


首先,我假设你已经安装了Microsoft.Azure.Management.ServiceBus.Fluent版本1.36.0

如果你的项目是packages.confignuget 包格式的网络框架,你可以试试这些:

要更正路径,您应该先清理 nuget 缓存(删除 下的所有文件C:\Users\xxx\.nuget\packages)和packages解决方案文件夹下的文件夹

然后运行以下命令来更正路径:

update-package -reinstall

Tools --> Nuget Package Manager --> Package Manager Console下。

此外,您可以只修改csproj文件并将hintpathnuget 包引用更改为正确的 nuget dll 路径。

<Reference Include="Microsoft.Azure.Management.ServiceBus.Fluent, Version=1.0.0.66, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Azure.Management.ServiceBus.Fluent.1.36.0\lib\net452\Microsoft.Azure.Management.ServiceBus.Fluent.dll</HintPath>
</Reference>

此外, addbindingRedirect可能是一个安全的选择。

app.config在文件下添加这个

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Azure.Management.ServiceBus.Fluent" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.66" newVersion="1.0.0.66" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

==================================================== =======

如果您的项目是具有PackageRefence nuget 管理格式的网络核心项目,

您还应该先清理 nuget 缓存,然后再删除binobj文件夹。


推荐阅读