我有一组需要在.NET 3.5或.NET 4.0上部署的工具,具体取决于MsBuild条件。目前我们想要更改这些实用程序的项目文件来处理这个问题。 我们知道我们可以这样做:
<TargetFrameworkVersion Condition="">v3.5</TargetFrameworkVersion>
我们不清楚的是,我们如何根据条件指定不同版本的NET。 condition属性是一个返回1到4之间的数字的int,根据该值,我们应该定位一个不同的.NET框架,当然也会改变app.config中的这个属性
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
我想知道处理此类问题的正确方法是什么。
答案 0 :(得分:3)
您可以在MSBuild文件中一个接一个地提供这样的条件。
<TargetFrameworkVersion Condition="$(ConditionProperty) == '1'">v1.1.xxxx</TargetFrameworkVersion>
<TargetFrameworkVersion Condition="$(ConditionProperty) == '2'">v2.0.xxxx</TargetFrameworkVersion>
<TargetFrameworkVersion Condition="$(ConditionProperty) == '3'">v3.5.xxxx</TargetFrameworkVersion>
<TargetFrameworkVersion Condition="$(ConditionProperty) == '4'">v4.0.xxxx</TargetFrameworkVersion>
因此,您可以编写代码来更改
的值<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
在app.cofig文件中,并使用以下代码使用变量$(TargetFrameworkVersion)
的值:
<XmlUpdate XmlFileName="app.config"
XPath="//startup/supprtedRuntime[@version]"
Value="$(TargetFrameworkVersion)" />