我将尽量清楚地解释这一点。
I want to fully understand how MSBuild multitargeting works.
我阅读了来自微软的若干文章,我认为我理解的是基本内容,但我想确保我不会遗漏任何内容。
According to Microsoft:
By using Visual Studio, you can compile an application to run on any one of several versions of the .NET Framework. For example, you can compile an application to run on the .NET Framework version 2.0, and compile the same application to run on the .NET Framework version 4. The ability to compile to more than one framework is named multitargeting.
视力演播室根据开发计算机安装的“网络框架”最新版本运行。
http://msdn.microsoft.com/en-us/library/ee395432.aspx
因此,这意味着,视力室总是从安装的最新框架中接通MSBuild? 假设2010年视觉演播室安装,将永远使用%WINDIR%Microsoft.NETFrameworkv4.0.30319MsBuild.exe
。 当建筑时,任何项目都以任何目标标注。 框架文本:右?
If yes, then the ability to target old .Net Framewrok versions is based on the ToolsVersion
and/or TargetFrameworkVersion
properties right???
If 是,意思是仅仅在我的连续整合箱上安装最新的框架(以及旧框架,但不安装视力室)。 我可以指出,总是会找到任何解决办法:%WINDIR%Microsoft.NETFrameworkv4.0.30319MsBuild.exe
,并仅具体指明ToolsVersion
论点(如果需要,因为每个项目都有其目标版本在<代码>中指明)。 TargetFrameworkVersion which it will causes to Target an long .Net Framework edition.
www.un.org/spanish/ecosoc 之后,我认为,我的中心箱子将像视觉演播室那样建设。 这一权利是什么? 我失踪了什么? 是否有办法完全确定?
我进行了快速测试,并且我认为它行之有效:p。 这些项目是根据具体的“网络框架”制定的,但与我一样,我相信我不会遗漏任何东西。
任何想法?
BTW:
想这样做的简单原因是,我有几种可以反复使用的惯用的MSBuild文字,但是这些文字中的一些功能要求MSBuild 4.0,而且我还有几项MSBuild的任务在框架4.0之上,因此,例如,如果我有一个针对框架2.0的解决办法,而且我试图利用:%WINDIR%Microsoft.NETFrameworkv2.0.50727MsBuild.exe
。 我拿到了MSBuild的错误,试图装上我的习俗目标。