2016-02-19 48 views
0

我剛剛升級我的TFS源使用DevExpress 15.2.5。不過,現在我得到了一堆警告輸出諸如TFS和Microsoft.common.targets裝配不同步VS2015

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3274: The primary reference "C:\Users\User1\Source\Release\V6.1\CommonBin\Release\WebControls.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v3.5". 

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1819,5): warning MSB3275: The primary reference "C:\Users\User1\Source\Release\V6.1\CommonBin\Release\WebControls.dll" could not be resolved because it has an indirect dependency on the assembly "DevExpress.Data.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=7ea533hgx2169hs3" which was built against the ".NETFramework,Version=v4.0,Profile=Client" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v3.5". 

約30其他類似的警告一起。

很明顯,有些東西與我的程序集不同步,因爲它們引用了錯誤的版本。所以我看着我的TFS項目.csproj文件。在那裏引用的DevExpress和.NET框架的版本是正確的。

然後我去了Microsoft.Common.targets文件並在記事本中打開。我注意到該文件引用了舊版本的所有內容。我如何獲得這與我的TFS程序集同步?

回答

1

看起來你需要改變你的項目使用.NET Framework 4.5版項目屬性頁:

enter image description here

警告該相傳會導致取決於多個警告或錯誤您使用的.NET API。

+0

這是奇怪的事情。我加倍檢查了項目的目標框架,他們是正確的。我認爲發生的事情是MSBuild已經從TFS中移出,因此在構建過程中它無法訪問所有內容。 – Tim

+0

你如何參考DevExpress?我總是儘量使用Nuget包,以避免安裝組件和處理版本不匹配。如果它的Nuget包,你可以檢查它的代碼或使用Nuget恢復,以確保你得到正確的版本。 – chief7

+0

我也經常使用Nuget包。不過爲此,Nuget只有DevExtreme。我需要整個DevExpress軟件包。所以我必須安裝到我的機器上。然後我在我的版本的外部參考文件夾中引用了所有的.dlls。這一切都很好,直到升級到版本15.4.5。所以隨着更新,我能夠通過上述錯誤。你一開始就是對的。我忽略了我的一個項目仍然參考.NET Framework 3.5。我做了這個改變,擺脫了我原來的錯誤。我有錯誤說不能找到組件。我會繼續挖掘。 – Tim