更改 Visual Studio 2010 的进程内编译器
本文关键字:进程 编译器 2010 Visual Studio 更改 | 更新日期: 2023-09-27 18:35:00
这是以下内容的后续:使用异步委托/lambda 进行投影
显然,异步CTP有一个我遇到的错误,我需要使用VS11编译器。在命令行中,即使针对用 VS2010 编写的项目运行msbuild
,仍会使用 VS11 编译器进行编译,因为 VS11/.NET 4.5 在 .NET 4.0 目录中就地安装。
但是,在Visual Studio 2010中,使用的进程内编译器似乎尚未升级到新的VS11编译器。
我可以(通过一些黑客/DLL操作(更改Visual Studio 2010使用的编译器吗?在VS11支持Windows Azure之前,这只是一个黑客/解决方法,以便我可以升级到beta/release candidate/RTM。
使用鲜为人知的属性UseHostCompilerIfAvailable
您可能会取得一些成功。这应该会导致 IDE 中的构建使用框架目录中的编译器。
但是,智能感知等 IDE 功能将始终使用进程内编译器。如果你遇到的错误只是在异步方法的最终转换上,你可能会发现proc编译器对于智能感知来说已经足够好了,并且UseHostCompilerIfAvailable足够好,可以让你从VS构建。
您可以通过手动编辑csproj文件来设置它以包含
<UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
在顶部属性组中。
另外 - VS11支持"往返"!在大多数情况下,您可以使用 VS11 打开 VS10 项目,而无需强制升级。因此,如果你有一个团队需要暂时将你的项目保持在V10格式,你至少可以独立使用VS11。但是,如果您需要的插件尚未针对VS11发布,则这更难。
希望这有帮助! :)