MSBuild TargetFrameworkVersion = v4.5.1目标.Net Framework v4.0

时间:2014-08-03 12:13:34

标签: c# .net msbuild

我正在尝试为.Net Framework的几个版本构建项目

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 4.5|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\net45</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 4.5.1|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\net451</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>

当我使用MSBuild构建项目并查看dotPeek中生成的程序集时,我得到以下结果

v4.0给了我.Net Framework v4.0
v4.5给了我.Net Framework v4.5
v4.5.1给了我.Net Framework v4.0

为什么定位4.5.1会给我.Net Framework v4.0我认为它至少会是4.5,我错过了什么?

如果您需要更多信息,请告诉我!

1 个答案:

答案 0 :(得分:1)

您可以尝试将此参数传入构建吗?

/p:TargetFrameworkVersion=v4.5