我读过这个question但是现在我们也有了4.5,解决方案就行不通了。
如何检查运行时是否高于4.0?
因为这是一根绳子,我猜我不能:

<DefineConstants Condition=" '$(TargetFrameworkVersion)' >= 'v4.0' ">NET_4_0</DefineConstants>

所以我应该同时定义这两个:
<DefineConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.0' ">NET_4_0</DefineConstants>
<DefineConstants Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">NET_4_5</DefineConstants>

有更通用的解决方案吗?

最佳答案

您可以使用.NET库中System.String类中的任何方法,包括比较。
http://msdn.microsoft.com/en-us/library/dd633440.aspx
编辑
如果您无法使属性函数正常工作,则可以尝试使用MSBuild扩展包。http://www.msbuildextensionpack.com/help/3.5.3.0/html/9c5401ed-6f55-089e-3918-2476c186ca66.htm

10-06 04:45