WebApi Soln有多个项目,每个项目都有不同的windowsAzure.Storage版本参考

时间:2017-04-01 01:41:50

标签: c# asp.net-web-api azure-storage

我有web api解决方案,它说两个项目。这些项目中的每一个都引用了不同版本的Microsoft.WindowsAzure.Storage程序集。并且解决方案引用了另一个版本的存储。

当我部署解决方案时,soln \ bin目录中只有一个版本的存储组件(由soln引用)。

因此我在运行时遇到以下错误。

System.IO.FileLoadException: Could not load file or assembly 'Microsoft.WindowsAzure.Storage, Version=8.1.1.0

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:0)

据我所知,我们无法在同一个项目中添加不同版本的引用。 因此,在同一项目中解决不同版本引用的唯一方法是使用“重定向程序集版本”。 通过使用这种方式,您可以将所有不同版本的引用都重定向到相同的版本程序集。

您可以在webconfig文件中设置它。

如下所示:

<dependentAssembly>
        <assemblyIdentity name="Microsoft.WindowsAzure.Storage" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-8.1.1.0" newVersion="7.1.2.0" />
      </dependentAssembly>

这意味着将所有Microsoft.WindowsAzure.Storage重定向到7.1.2.0(安装在您的web api项目中)。

此外,不同版本的azurestorage SDK之间存在一些差异。 例如,新版本中已删除一种方法。

通常情况下,如果我们想要使用它们,我们将使用所有项目的相同版本。 我建议您检查您的代码,并在所有三个项目中使用相同版本的azure存储SDK。