尝试对"%(TargetOSFamily.Identity)"进行数字比较。评估为""

时间:2014-07-11 21:30:22

标签: azure msbuild visual-studio-2013

我将项目从Azure 1.8升级到Azure 2.3(从VS2012升级到VS2013)。我的源代码在Azure模拟器中编译并运行,但是当TFS构建器尝试编译它时会抛出此错误:(我从云项目上下文菜单中执行了#34; package"同样的错误)

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Windows Azure Tools \ 2.3 \ Microsoft.WindowsAzure.targets(2016):尝试对"%进行数值比较(TargetOSFamily .Identity)"评估为""条件"而不是数字' $(RoleTargetFrameworkMonikerIsValid)' ==' True'和'%(TargetOSFamily.Identity)' > =' 3'并且' $(RoleTargetFrameWorkIs35)' ==' True' "

我已经设置了osFamily =" 4"等,但没有任何改变。

2 个答案:

答案 0 :(得分:2)

服务配置文件的ServiceConfiguration元素必须设置osFamily和osVersion元素。设置它们后,必须重新启动Visual Studio。我们讨论了这个问题here

答案 1 :(得分:0)

如果你看一下这个页面: http://msdn.microsoft.com/en-us/library/azure/ee924680.aspx

您会看到osFamily 4仅支持.Net 4及更高版本。

此错误告诉您的是,您的项目的目标是.Net 3.5,但不支持此功能。

您必须将项目升级到.Net 4 / 4.5 / 4.5.1或目标osFamily 2.鉴于2将于下个月从门户网站中删除,我建议您升级项目。