有什么方法可以替换Visual Studio对msbuild的使用,并且仍然在IDE中获得错误报告?



有没有办法取代visualstudio对msbuild的使用,并且仍然在IDE中获得错误报告?我想我可能想用NAnt、Rake或PowerShell在VS中编译,或者用一种同样聪明但使用脚本语言而不是XML的东西。我的构建相当直接——找到所有的.cs并编译它们,然后将dll放入Debug/或Release等中。

我想添加一些从命令行看起来更容易的其他步骤:

  • 比如点击服务器来启动某些缓存
  • 使用闭包编译
  • 最小化CSS
  • 生成后生成一些度量(在特定配置中)
  • 运行NUnit(或自定义)测试框架并发送电子邮件
  • 等等

然而,我仍然希望在IDE中获得"在线错误"反馈。这有可能吗?

您可以为Visual Studio编写一些扩展(Macro、AddIn、Package等),这些扩展可以增强Visual Studio,让其他构建工具运行。最简单的形式可能只是使用"工具\外部工具.."并在那里添加构建工具。只要按照此处所述设置"生成消息"的格式,就会显示输出窗口,就好像它们是由MSBuild生成的一样。

然而,我认为在Visual Studio中完全取代MSBuild是不可能的(BTW也不可取)。

Visual Studio不仅执行MSBuild.exe并解析它的输出。集成非常紧密,许多GUI方面直接依赖于MSBuild文件的内容。例如,当您在Visual Studio UI中更改某些项目属性时,这些更改(最终)会写入项目的MSBuild文件。

此外,还有一些性能改进,例如Visual Studio"替换"了通过使用进程内编译器从MSBuild文件调用csc.exe(C#编译器),这节省了一些编译时间,因为需要启动的外部进程更少(也在上述文档中描述)

虽然从体系结构的角度来看,所有这些都很可能被Visual Studio中的一些"接口"包装和封装,但我还没有找到让这些"接口"实现其他东西的方法,例如,在后面使用NAnt。

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

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

最新更新