我正在使用我的Azure移动服务的移动后端/ Web API,当我尝试调试代码时收到此消息。 Azure配置代码存在于不同的C#类库中,我相信它们之间存在版本不匹配。
其他信息:无法加载文件或程序集 'Microsoft.WindowsAzure.Configuration,Version = 3.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。 (HRESULT异常:0x80131040)
错误来自此行:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("photos");
以上行用于将图像blob上传到我的Blob存储。我相信它是后端和Azure Cloud API之间的版本不匹配。您认为此错误意味着什么?
答案 0 :(得分: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 在这两个项目中,还要检查web.config > runtime > assemblyBinding
部分,看看bindingRedirect
是否存在问题Microsoft.WindowsAzure.Configuration
。
构思3 要获得更全面的方法,请使用程序集绑定日志查看器。首先,从Visual Studio的Developer Command Prompt中运行Fuslogvw.exe
。
Troubleshooting NuGet references
The located assembly's manifest definition does not match the assembly reference