平台:Windows 7(64 位) Visual Studio 2012
我最近安装了 azure SDK 2.2 并使用新引用运行我的解决方案。但是,如果我使用以前版本的解决方案(使用旧引用和 SDK 版本 - 2.0),我会收到此运行时异常:
无法加载文件或程序集“Microsoft.WindowsAzure.Storage,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)
我从之前的升级中得到了一些提示,并且了解如果 Visual Studio 不应该是最新版本,您可能需要覆盖它们,因此我将以下几行添加到我的 Web.config 中:
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.Configuration" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
我希望这会引导 Visual Studio 获取适当的版本,但它仍然失败。
如有任何帮助,我们将不胜感激。
最佳答案
您的计算机上是否同时安装了 Azure SDK 2.0 和 2.2?
如果是这种情况,您就不必添加这些重定向。
我有一台安装了 2.0 和 2.2 的机器,并且引用正确 解决方法取决于您是使用 2.0 还是 2.2 打开项目。
在使用 2.2 的计算机上打开项目之前,有关项目状态的任何信息
安装可以帮助我们识别问题。
当您提到使用 2.0 引用打开以前版本的解决方案时,您的意思是您使用升级向导将解决方案升级到 2.2 吗?如果是这种情况,您能否确认升级是否成功并且可以构建项目以及解决方案资源管理器中是否有任何未解析的引用?
此外,建议使用 Nuget Package Manger 更新控制台更新存储和其他 Nuget 包引用。您是否手动更新了这些引用文献?
关于c# - Azure SDK 2.2升级破坏了SDK 2.0解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22356720/