返回首页


大约两年前,我一个,允许您更改解决方案中的所有项目的目标Framework版本的Visual Studio宏。如果你不知道,目标Framework版本是告诉编译器编译NET Framework的版本(更多信息可以在这里{S0}),可以设置为以下值之一。NET Framework 2.0更新。NET框架3.0NET Framework 3.5的 NET Framework 3.5的客户端配置文件。NET框架4.0NET Framework 4.0中客户端配置文件
这可以很容易地通过编辑项目属性:

这种方法的问题是,如果您需要在同一时间改变了很多项目,它变得相当笨重。一个可行的办法是手工编辑项目文件在文本编辑器,并改变LT; TargetFrameworkVersion / GT,LT; TargetFrameworkProfile / GT;属性,以正确的价值观。
例如,NET框架4.0客户端配置文件,这些值将是:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>



<TargetFrameworkProfile>Client</TargetFrameworkProfile>

再次,这是不仅费时费力,但也容易出错。
更好的解决方案是通过使用一个Visual Studio宏自动化。因为我已创建了一个宏为Visual Studio 2008,我更新,宏与Visual Studio 2010和。NET 4.0中的工作。它会提示你要设置的所有项目,然后遍历每个项目的解决方案,使得变化的目标框架版本。如果您选择一个版本的框架,支持客户端配置文件,它会问你是否要使用客户端配置文件或完整的个人资料。它是足够聪明,跳过项目类型不支持此属性和项目,已经在正确的版本。此版本还包含{A}乔治(评论)的建议。
宏我的SkyDrive的帐户。将它下载到你的LT; UserProfilegt; \文档\ Visual Studio 2010中\项目\ VSMacros80 \ MyMacros文件夹,打开Visual Studio宏IDE(ALT - F11),并作为现有项目添加到"MyMacros项目??。
我没有这个宏的担保或保证。我已经测试了几种解决方案和项目,一切似乎工作,不会造成任何问题,但一如既往,谨慎使用。由于它是一个宏,你必须提供完整的源代码进行调查,看看它实际上做。如果您发现任何错误,或做出任何有用的变化,请让我知道,我会更新的宏。

回答

评论会员:杰里米托马斯 时间:2012/01/26
在您的SkyDrive似乎只在VS 2010
杰里米托马斯

| robvon
评论会员:游客 时间:2012/01/26
看起来像另一个MS监督的良好修复
robvon
评论会员:游客 时间:2012/01/26
公司防火墙封锁的网站,如果你那。如何只是一个简单的下载...
jimbucc
评论会员:游客 时间:2012/01/26
是什么我一直在寻找
。斯科特多尔曼
评论会员:游客 时间:2012/01/26
但是,什么是3.5和3.5客户端之间的差异,以及4.0和4.0客户端?J./约翰尼
斯科特多尔曼
评论会员:游客 时间:2012/01/26
不是一个愚蠢的问题。不同之处安装的组件。"客户端"配置文件的目的是精简下来的版本,其中包括客户端/桌面应用程序需要的是什么。例如,它不包括ASP.NET(网络)组件等"完整"(或非客户)型材包括一切。斯科特DormanMicrosoft®MVP-VisualC#中|MCPD的总统-{A3}[{A4}]嘿,嘿,嘿。不要的意思。我们没有要的意思,因为请记住,无论你走到哪里,有你。-牧童万岁