.net 如何从MSBuild中的GetFrameworkDKPath获取特定版本的SDK
我希望能够在构建过程中拉出mage.exe并将其添加到部署包中。我需要能够根据当前目标的框架版本拉取特定版本的mage.exe工具。因此,例如,在构建.NET 4.0项目时,我希望从(Microsoft SDK\Windows\v8.0A\bin\NETFX 4.0工具)而不是(Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6工具)打包mage.exe 我在构建过程中使用了GetFrameworkSdkPath任务,但它似乎没有收回正确的SDK版本路径 以下是我目前的做法:.net 如何从MSBuild中的GetFrameworkDKPath获取特定版本的SDK,.net,msbuild,.net,Msbuild,我希望能够在构建过程中拉出mage.exe并将其添加到部署包中。我需要能够根据当前目标的框架版本拉取特定版本的mage.exe工具。因此,例如,在构建.NET 4.0项目时,我希望从(Microsoft SDK\Windows\v8.0A\bin\NETFX 4.0工具)而不是(Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6工具)打包mage.exe 我在构建过程中使用了GetFrameworkSdkPath任务,但它似乎没有收回正确的SDK版本路径 以下是
<Choose>
<When Condition="'$(TargetFrameworkVersion)'=='v2.0'">
<PropertyGroup>
<SDKVersionPath>FrameworkSdkVersion20Path</SDKVersionPath>
</PropertyGroup>
</When>
<When Condition="'$(TargetFrameworkVersion)'=='v3.5'">
<PropertyGroup>
<SDKVersionPath>FrameworkSdkVersion35Path</SDKVersionPath>
</PropertyGroup>
</When>
<When Condition="'$(TargetFrameworkVersion)'=='v4.0'">
<PropertyGroup>
<SDKVersionPath>FrameworkSdkVersion40Path</SDKVersionPath>
</PropertyGroup>
</When>
</Choose>
<Target Name="GetSDKVersionPath">
<PropertyGroup>
<SDKVersionPath Condition="$(SDKVersionPath)==''">Path</SDKVersionPath>
</PropertyGroup>
<Message Text="SDK VERSION PATH: $(SDKVersionPath)"/>
<GetFrameworkSdkPath>
<Output
TaskParameter="$(SDKVersionPath)"
PropertyName="SdkPath" />
</GetFrameworkSdkPath>
</Target>
框架DKVersion20Path
框架DKVersion35Path
框架DKVersion40Path
路径
使用这种方法,当框架版本为“v4.0”时,它会为我提供指向SDK v10.0A的路径,而不是预期的v8.0A
关于如何在SDK中获得正确版本的mage.exe的路径,有什么想法吗