在使用msbuild進行編譯時,.NET 3.5解決方案最終出現此警告。 app
有時NDepend可能有所幫助,但在這種狀況下,它沒有提供任何進一步的細節。 像Bob同樣,我最終不得不在ILDASM中打開每一個程序集,直到找到引用舊版依賴程序集的程序集。 編輯器
我確實嘗試使用VS 2010 Beta 2中的MSBUILD(由於Connect文章代表這已經在下一版本的CLR中獲得修復)可是它沒有提供任何更多細節(可能在Beta 2後修復) ide
有更好的(更自動化的)方法嗎? 工具
爲默認的ASP.NET MVC 4 beta生成此警告, 請參見此處 ui
在,能夠經過手動編輯項目的.csproj文件來消除任何強制轉換此警告。 spa
修改........:參考包含=「System.Net.Http」 調試
閱讀......:參考包含=「System.Net.Http,Version = 4.0.0.0」 code
如前所述在這裏 ,你須要刪除未使用的引用,並警告會去。 rem
將「MSBuild項目構建輸出詳細程度」更改成「詳細」或更高版本。 爲此,請按照下列步驟操做: get
在出現的工具/選項頁面中,根據您的版本將MSBuild項目構建輸出詳細級別設置爲適當的設置:
查看MSBuild消息。 ResolveAssemblyReferences
任務(MSB3247發起的任務)應該能夠幫助您調試此特定問題。
個人具體狀況是對SqlServerCe的錯誤引用。 見下文。 我有兩個項目引用了兩個不一樣版本的SqlServerCe。 我用舊版本去了項目,刪除了引用,而後添加了正確的引用。
Target ResolveAssemblyReferences: Consider app.config remapping of assembly "System.Data.SqlServerCe, ..." from Version "3.5.1.0" [H:\...\Debug\System.Data.SqlServerCe.dll] to Version "9.0.242.0" [C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\System.Data.SqlServerCe.dll] to solve conflict and get rid of warning. C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning MSB3247: Found conflicts between different versions of the same dependent assembly.
您沒必要打開每一個程序集來肯定引用程序集的版本。
沒有考慮(內部)依賴關係的最簡單方法:
就我而言,MySQL引用存在問題。 不知何故,我能夠在全部可用引用列表下列出它的三個版本。 我按照上面的過程1到6進行了操做,它對我有用。
我發現(至少在Visual Studio 2010中)您須要將輸出詳細程度設置爲至少詳細以便可以發現問題。
多是個人問題是之前做爲GAC參考的引用,但在個人機器從新安裝後再也不是這種狀況。