2016-11-24 104 views
1

我有一個相當奇怪的問題。在一個解決方案中,2個項目實現了RestSharp(Mollie和Plivo的依賴關係)。但是,兩者都使用不同的nuget軟件包。一個使用簽名版本,另一個使用正常版本。正常工作的人沒有問題。使用簽名的人很奇怪。我收到以下錯誤:Restharp參考中的版本問題

無法加載文件或程序集'RestSharp,Version = 100.0.0.0,Culture = neutral,PublicKeyToken = **********'或其某個依賴項。定位的程序集清單定義與程序集引用不匹配。 (異常來自HRESULT:0x80131040)

當我去引用的屬性,我看到它引用文件在正確的文件夾和正確的版本(路徑),但在引用版本中它指出100.0.0.0。我不能改變這一點,我已經嘗試通過.csproj然後它只是顯示0.0.0.0作爲一個版本,並沒有找到所有的參考,在packages.config其設置正確..

我也嘗試直接在軟件包目錄中引用dll,從nuget中刪除它,但也沒有運氣。它再次顯示爲版本100.0.0.0。這是一個問題與DLL還是我的問題?

此外,在對象瀏覽它示出了它作爲2個版本(具有plivo安裝和一個與茉莉..)但沒有引用了該差值(Restsharp VS restsharpsigned)

enter image description here

+0

你有沒有發現任何靈魂? – ocanal

+0

我的問題是由於我從項目1調用項目2的事實。項目1也有RestSharp包,但是是不同的版本。當調試進入項目2時,它注意到它已經加載了包,但它是錯誤的版本。它沒有進一步加載真正需要的軟件包。通過查看調試中的模塊窗口,我發現了這一點。 – Lonefish

回答

1

RestSharpSigned版本顯示爲100.0.0,因爲RestSharp.dll使用Strong Name將其命名爲100.0.0。您可以用NuGet Package Explorer打開它來檢查裝配信息。 enter image description here

我測試過在我的項目中安裝了Mollie和Plivo軟件包,一切正常。所以這個問題應該與你的解決方案有關。

請創建一個沒有任何自定義代碼的新的解決方案和新項目安裝Plivo包。編譯成功後,請將原始項目文件複製到新項目中,它可以幫助您確認哪個文件導致此問題。

+0

你是否解決了你的問題?如果沒有,請分享一個關於您的問題的示例項目,以幫助我們重現您的問題。 –

+0

我有這個問題。我認爲你只嘗試創建一個新項目並安裝Mollie和plivo軟件包。是的,它可以很好地解決任何問題。 OP和我得到的錯誤是運行時錯誤。 – ocanal