2
A
回答
5
這看起來像您在解決方案中的不同項目中引用了您的依賴項的略微不同的版本。這意味着當你嘗試並運行你的項目時,如果你通過依賴關係中的類型引用任何引用,那麼你可能會得到意想不到的錯誤,因爲來自同一程序集的不同版本的類型被認爲是不同的。
例如
PROJECT1使用依賴性SomeAssembly.dll
是1.0版 Project2的使用依賴性SomeAssembly.dll
但在1.1版 Project2的具有PROJECT1作爲依賴
代碼在項目2次試圖通過如該類型是在SomeAssembly.dll
定義的SomeType
基準從其代碼到項目1的代碼。由於項目1來自不同版本的程序集,因此無法識別類型,因此項目1將引發錯誤。
您的問題可能比這更隱蔽,因爲大多數這種類型的錯誤可以被編譯器捕獲,但如果你有複雜的依賴關係或使用依賴注入編譯器可能不一定發現這樣的事情。
Visual Studio正在爲您提供有效的解決方法,將所有依賴關係重定向到特定的版本。恕我直言,我會避免採取修復,如果你可以自己手動修復它。
通過解決方案並檢查所有引用以確保它們全都與版本明智匹配,您會更好。您可能需要刪除並添加引用才能正常工作,但現在這樣做可以避免長期的意外問題。
相關問題
- 1. 鏈接器警告C++ Visual Studio
- 2. Visual Studio缺少警告
- 3. Visual Studio的警告C4133
- 4. Visual Studio 2010「System.Web」參考未解決[C#]
- 5. Visual Studio 2012 JavaScript&css參考
- 6. Visual Studio的相互參考
- 7. 查找參考Visual Studio 2010
- 8. Visual Studio 2015 .jar參考
- 9. Visual Studio參考x64 GAC
- 10. Visual Studio for Mac System.Windows.Input參考
- 11. Visual Studio 2008項目參考
- 12. Visual Studio Web參考錯誤
- 13. Visual Studio C++鏈接器警告:LNK4006與C運行時(CRT)
- 14. C/C++編譯器警告名單的Visual Studio
- 15. C++ _CRT_SECURE_NO_WARNINGS警告
- 16. 警告:未定義的函數參考
- 17. 通過參考變量警告結束()
- 18. 警告MSB8012 - 在Visual Studio 2015上構建Visual Studio 2003項目
- 19. 在Visual Studio中查找錯誤/警告
- 20. Doxygen警告格式以匹配Visual Studio
- 21. ReSharper的:Visual Studio中:警告使用VAR
- 22. 試圖剿資源警告在Visual Studio
- 23. 在Visual Studio 2008中過濾警告
- 24. 的Visual Studio - 禁止的web.config警告
- 25. 在Visual Studio中抑制tlbimp警告
- 26. 在Visual Studio中啓用單個警告
- 27. Visual Studio 2013編譯器警告
- 28. 版本衝突的警告在Visual Studio
- 29. 關於Visual C++標準庫的警告
- 30. 警告C4003:宏 '最大' 沒有足夠的實際參數 - Visual Studio 2010的C++
幾乎同意選擇你的接受答案。請簡單舉例說明「如果您將依賴關係中的類型引用爲任何引用,那麼來自同一程序集的不同版本的類型被認爲是不同的」。謝謝! –