2017-04-01 69 views
0

我有web api解决方案,它有两个项目说。这些项目中的每一个都指向不同版本的Microsoft.WindowsAzure.Storage程序集。解决方案还有另一个版本的存储引用。WebApi Soln与多个项目,每个都有不同的windowsAzure.Storage版本参考

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

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

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

任何帮助真的很感激。

+0

考虑将绑定重定向添加到您的app.config中:https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx –

回答

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。

相关问题