2015-09-06 70 views
2

我正在为我的Azure移动服务处理我的移动后端/ Web API,并在尝试调试代码时收到此消息。 Azure配置代码存在于不同的C#类库中,我相信它们之间存在版本不匹配。在两种解决方案中发生Nuget版本不匹配错误

其他信息:无法加载文件或组件 'Microsoft.WindowsAzure.Configuration,版本= 3.0.0.0, 文化=中性公钥= 31bf3856ad364e35' 或它 的一个依赖。找到的程序集的清单定义不符合程序集引用的 。 (从HRESULT异常:0x80131040)

误差来形成该行:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
       CloudConfigurationManager.GetSetting("StorageConnectionString")); 
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 
CloudBlobContainer container = blobClient.GetContainerReference("photos"); 

上述行用于图像的斑点上传到我Blob存储。我认为这是后端和Azure Cloud API之间的版本不匹配。你认为这个错误意味着什么?

+1

你有没有升级该软件包是否在所有项目中都处于相同版本? –

+1

这就是我无法做到的。当它试图更新时,它说另一个软件包与新版本不兼容!什么是升级所有软件包的正确方法? @deebo – Dinuka

+0

NuGet说什么软件包不兼容?您可能不必升级所有软件包。但是,您可以使用软件包管理器控制台中的“Update-Package -Project ProjectName”来升级项目中的所有软件包。当然,升级所有软件包可能会导致其他问题。 –

回答

1

不成熟的想法:)

理念1两个项目中,打开packages.config文件。查看两个文件是否引用Microsoft.WindowsAzure.Configuration的相同版本。如果它们不同,则可以使用软件包管理器控制台升级或降级其中一个项目。

// update to a specific version of a package 
Update-Package MyPackage -Version [an earlier or later version] 

// update all packages within a project 
Update-Package -Project ProjectName 

理念2两个项目中,还要检查​​部分看一个人是否有Microsoft.WindowsAzure.Configuration有问题bindingRedirect

想法3如需更全面的方法,请使用装配绑定日志查看器。要从Visual Studio的开发人员命令提示符开始,请运行Fuslogvw.exe

有用的链接

Troubleshooting NuGet references

The located assembly's manifest definition does not match the assembly reference

Updating All Packages

Could not load file or assembly… NuGet Assembly Redirects

Assembly Binding Log Viewer (Fuslogvw.exe)

相关问题