【发布时间】:2016-04-22 05:15:05
【问题描述】:
我正在尝试为多个版本的 .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,我错过了什么吗?
如果您需要更多信息,请告诉我!
【问题讨论】:
-
这个问题缺少关键信息,IDE 不支持这种手帕。目标框架版本是每个项目的设置,而不是每个配置的设置。这是怎么发生的?您是手动编辑项目文件吗?这是如何准确构建的?您究竟在看什么来了解目标版本?
-
我已经手动添加了具体配置,但没关系!如果我通过属性对话框将项目配置为目标 4.5.1,则会发生同样的事情。回答您的问题:我正在从命令行或 Visual Studio 使用 MSBuild 进行构建,结果相同。正如我所写,我正在使用 dotPeek。