本文转自;https://msdn.microsoft.com/en-us/library/hh264221.aspx


A project can be built to run on a target framework, which is a particular version of the .NET Framework, and a target platform, which is a particular software architecture.  For example, you can target an application to run on the .NET Framework 2.0 on a 32-bit platform that is compatible with the 802x86 processor family (“x86”). The combination of target framework and target platform is known as the target context.

A target framework is the particular version of the .NET Framework that your project is built to run on. Specification of a target framework is required because it enables compiler features and assembly references that are exclusive to that version of the framework.

Currently, the following versions of the .NET Framework are available for use:

  • The .NET Framework 2.0 (included in Visual Studio 2005)

  • The .NET Framework 3.0 (included in Windows Vista)

  • The .NET Framework 3.5 (included in Visual Studio 2008)

  • The .NET Framework 4 (included in Visual Studio 2010)

  • The .NET Framework 4.5 (included in Visual Studio 2012)

  • The .NET Framework 4.5.1 (included in Visual Studio 2013)

  • The .NET Framework 4.5.2

  • The .NET Framework 4.6 (included in Visual Studio 2015)

The versions of the .NET Framework differ from one another in the list of assemblies that each makes available to reference. For example, you cannot build Windows Presentation Foundation (WPF) applications unless your project targets the .NET Framework version 3.0 or above.

The target framework is specified in the TargetFrameworkVersion property in the project file. You can change the target framework for a project by using the project property pages in the Visual Studio integrated development environment (IDE). For more information, see How to: Target a Version of the .NET Framework. The available values for TargetFrameworkVersion are v2.0, v3.0, v3.5, v4.0, v4.5, v4.5.1, v4.5.2, and v4.6.

 
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>  

A target profile is a subset of a target framework. For example, the .NET Framework 4 Client profile does not include references to the MSBuild assemblies.

The target profile is specified in the TargetFrameworkProfile property in a project file. You can change the target profile by using the target-framework control in the project property pages in the IDE. For more information, see How to: Target a Version of the .NET Framework.

 
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

A platform is combination of hardware and software that defines a particular runtime environment. For example,

  • x86 designates a 32-bit Windows operating system that is running on an Intel 80x86 processor or its equivalent.

  • Xbox designates the Microsoft Xbox 360 platform.

A target platform is the particular platform that your project is built to run on. The target platform is specified in the Platform build property in a project file. You can change the target platform by using the project property pages or the Configuration Manager in the IDE.

 
<PropertyGroup>
<Platform>x86</Platform>
</PropertyGroup>

A target configuration is a subset of a target platform. For example, the x86``Debug configuration does not include most code optimizations. The target configuration is specified in the Configuration build property in a project file. You can change the target configuration by using the project property pages or the Configuration Manager.

 
<PropertyGroup>
<Platform>x86</Platform>
<Configuration>Debug</Configuration>
<PropertyGroup>

http://stackoverflow.com/questions/328017/path-to-msbuild

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5

[转]MSBuild Target Framework and Target Platform的更多相关文章

  1. ASP.NET 5 Target framework dnx451 and dnxcore50

    中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NET 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { " ...

  2. 什么是目标框架别名(What are the Target Framework Monikers (TFMs))?

    我们现在的.NET Core 1.0应用(ASP.NET Core 1.0应用或控制台应用)有了新的被运行在不同框架上的可能性:①运行在.NET Core平台上 ②运行在传统的.NET Framewo ...

  3. ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html

    中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NTE 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { " ...

  4. 每次都要重新编译?太慢!让跨平台的 MSBuild/dotnet build 的 Target 支持差量编译

    如果你干预到了项目的编译过程,可能就需要考虑到差量编译了.不然--当你的项目大起来的时候,就会感受到每次都重新编译时,每次重复调试的过程都要进行漫长等待时的绝望和无奈. 如果你正遭遇差量编译失效,每次 ...

  5. .NET 5 中 Target Framework 详解

    作者:.NET Team 翻译:精致码农-王亮 原文:http://dwz.win/Q4v 我们希望极大地简化开发人员必须在项目文件和 NuGet 包中使用的TFM (Target Framework ...

  6. Vs2013 坑爹的Target framework问题

    之前的一个项目是使用Vs2008来开发的,因为这段时间家里有事情所以只能跟经理协商在家里来做此项目,因为家里的VS是2013的所以在迁移时没有什么问题 但今天我更改一个类库的文件后重新生成解决方案结果 ...

  7. target=_parent与target=_top的区别与用途

    转自:http://www.taoshaw.com/taoshaw/article.asp?id=1868 在手动改HTML代码时经常会用到target参数,常用的有两个target=_blank 和 ...

  8. HTML:target=_blank、target=_top、target=_parent、target=_self 的区别

    HTML:target=_blank.target=_top.target=_parent.target=_self 的区别 _blank 在新窗口中打开链接_parent 在父窗体中打开链接_sel ...

  9. 细说VS MSBuild 和 Framework 的区别

    如今已经是 VS2017 横行的时代,而据我所知,大部分人还停留在使用 VS2015 VS2013 或更低的版本,主要是因为他们参与的项目基本使用这几个VS的版本开发的.眼红VS2017却不敢升级,主 ...

随机推荐

  1. js webstrom中svn的配置及使用

    js  webstorm中svn的配置及使用 一.webstorm配置svn: 1.在webstorm工具中找到file(文件)-setting(设置)菜单按钮: 2.在左边菜单中找到plus(插件) ...

  2. documeant 学习总结(二)

    (一)移除节点及属性     /**移除节点和属性的操作     * @throws DocumentException     */    public void RemoveOperator()  ...

  3. oracle-01427

    Oracle / PLSQL: ORA-01427 Learn the cause and how to resolve the ORA-01427 error message in Oracle. ...

  4. SCPO2015 小凸玩矩阵

    题目链接:戳我 二分答案+最大流. 看到第K大的数的最小值是多少,我们想到二分,把他转化为最大数最小问题--二分一个数x,如果有>=n-k+1个数不比它大,那么它就应当不大于当前数,否则应当大于 ...

  5. Django-04模板层

    你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datet ...

  6. dataframe 转为list

    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list.

  7. redis 3.0 集群__故障测评

    一, slave 是不能通过redis-cli 直接进行读写操作的,但是可以执行 keys, info 命令( 猜测类似全局性的不影响到原子性操作的命令应该都可以,没有一一试验) 二,集群中的某节点异 ...

  8. <转>jmeter JDBC Request之Query Type

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  9. 【医学影像】《Dermatologist-level classification of skin cancer with deep neural networks》论文笔记

    这是一篇关于皮肤癌分类的文章,核心就是分类器,由斯坦福大学团队发表,居然发到了nature上,让我惊讶又佩服,虽然在方法上没什么大的创新,但是论文本身的工作却意义重大,并且这篇17年见刊的文章,引用量 ...

  10. Vue页面加载时,触发某个函数的方法

    需要在加载页面的时候调用生成验证码的click事件函数 解决方法如下,利用Vue中的mounted mounted:function(){ this.createcode();//需要触发的函数 } ...