Azure 存储 blob 无法加载文件或程序集“System.Diagnostics.DiagnosticSource,Version=4.0.4.0,Culture=neutral,PublicKeyToken=cc7b13ffcd”

Meh*_*ikh 7 c# azure azure-blob-storage

我有一个控制台应用程序可以.Net core 2.2将文件上传到 Azure blob 存储。它完全没问题,并且可以在我的本地计算机上运行,​​但是当我将应用程序部署到 Azure 应用程序服务时,它会引发异常并显示以下错误:

Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd 问题出在这行代码上:

BlobServiceClient storageAccount = new BlobServiceClient("connection string")

System.Diagnostics.DiagnosticSource我尝试更改和的版本Azure.Storage.Blobs,但它在 Azure 应用服务上不起作用

编辑:我没有找到问题的任何解决方案,我更改了代码,以便使用 aps.net core 应用程序中的 Azure 存储。

kav*_*yaS 7

3 解决此问题的可能方法

1. Install-Package System.Diagnostics.DiagnosticSource -Version 4.4.1 并将 nuget 包添加System.Net.Http 4.3.1到项目中。然后重新启动并再次运行。

2. 在 web.config 文件中,添加以下 bindingRedirect 标记:

<dependentAssembly>
 <assemblyIdentity name="System.Diagnostics.DiagnosticSource"
 publicKeyToken="cc7b13ffcd2ddd51" 
 culture="neutral"/>
 <bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1"/>
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

(如果您使用的是 app.config ,请删除所有绑定重定向并在顶部添加以下属性。)

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
Run Code Online (Sandbox Code Playgroud)

保存并重新启动应用程序服务并再次运行安装。

看看这是否有效,否则就去 3

3.使用门户禁用 Application Insights。重新启动并再次运行。

另请尝试将以下属性组添加到 *.csproj 文件中

<PropertyGroup>
  <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)