2012-02-21 30 views
1

任何方式来取代Visual Studio的使用msbuild,仍然在IDE中得到错误报告?我想我可能希望在VS中使用NAnt或Rake或PowerShell进行编译,或者也可以使用脚本语言而不是XML。我的构建相当直接 - 找到所有的.cs并编译它们,并将dll放在Debug /或Release /等。任何方式来取代Visual Studio的使用msbuild,仍然在IDE中得到错误报告?

我想添加一些其他步骤,命令行:

  • 就像命中某个缓存的服务器一样。
  • 编译用封
  • 压缩CSS
  • 生成编译后的一些指标(在一定的配置)
  • 运行NUnit的(或自定义),测试框架和发送电子邮件
  • 等....

但是,我仍然想要在IDE内部获得“错误在线”反馈。这有可能吗?

回答

2

您可以为Visual Studio(宏,AddIn,Package等)编写一些扩展,这些扩展可以扩充Visual Studio以让其他生成工具运行。最简单的形式可能只是使用“工具\外部工具..”,并在那里添加你的构建工具。只要您将“构建消息”格式设置为described here,就应该显示输出窗口,就好像它们是由MSBuild生成的一样。

但是,我认为在Visual Studio中完全替换MSBuild是不可能的(也不可取,BTW)。

Visual Studio不只是执行MSBuild.exe并解析它的输出。整合是very tight和许多GUI方面直接依赖于MSBuild文件的内容。 例如,当您在Visual Studio UI中更改某些项目属性时,所做的更改(最终)会写入项目的MSBuild文件。

此外,还有一些性能改进,例如Visual Studio“替换”,也就是说,使用进程内编译器从MSBuild文件中调用csc.exe(C#编译器),该编译器可以保留一些编译时间,因为更少的外部进程需要启动(也在above mentioned document中描述)

虽然从体系结构的角度来看,所有这些退出可能被Visual Studio中的一些“接口”封装和封装,但我还没有但却找到了让这些“接口”实现其他功能的方法,例如,使用NAnt。

无论如何,我认为即使技术上可行,这在技术上也不可行。

+0

这是一个很好的例子,用屏幕截图http://www.hanselman.com/blog/HackParallelMSBuildsFromWithinTheVisualStudioIDE.aspx – Maslow 2012-08-14 20:37:33

1

对于耙机,请检查Rake Runner扩展。您可以从解决方案资源管理器运行rake任务,并检查Output窗格中的错误和其他输出。我几乎没有开发VS软件包的经验,所以如果有人想帮忙的话,这个项目是开源的here

相关问题