2015-09-06 73 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)

相關問題