2016-02-19 46 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