当我向我工作的公司发布使用 Google.Apis.Drive.v2 (v1.9.2.1860) 的代码时,我遇到了这个问题。我给了他们 exe 和 Visual Studio(和 NuGet)生成的所有 DLL,他们得到了错误。我从来没有得到错误。
修复很简单(一旦我弄清楚了):从 Nuget 安装 api 时,会在输出(又名调试或发布)文件夹中自动生成文件“assemblyname.exe.config”。您所要做的就是在您在生成它的文件夹之外的某个位置运行程序集时包含该文件。这是我的该文件的代码:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.29.0" newVersion="4.2.29.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
这基本上是 Paul 的“第二个”修复,但它是由包管理器自动生成的。对我来说,问题是当我通过更新到 Google.Apis.Auth 和 Google.Apis.Core (v1.9.3) 来尝试他的“第一次”修复时,情况变得更糟了。我会得到同样的错误,除了现在它是因为“Google.Apis.Core”是错误的版本(尽管这可能也可以通过包含相同的 .exe.config 文件来解决。)
希望这对某人有所帮助,我知道这个线程已经很老了,但它是快速谷歌搜索引导我找到的那个。
编辑:忘了提,这与面向 .NET 4.5 的控制台应用程序有关。其中一些可能仍然与其他 .NET 目标或 ASP.NET 相关,但我不确定。你的旅费可能会改变。