Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任何替代visual studio的方法';s使用msbuild,但仍然在IDE中获取错误报告?_Ide_Msbuild_Build Automation - Fatal编程技术网

任何替代visual studio的方法';s使用msbuild,但仍然在IDE中获取错误报告?

任何替代visual studio的方法';s使用msbuild,但仍然在IDE中获取错误报告?,ide,msbuild,build-automation,Ide,Msbuild,Build Automation,有什么方法可以取代VisualStudio对msbuild的使用,并且仍然在IDE中获得错误报告?我想我可能希望使用NAnt、Rake或PowerShell在VS中编译,或者使用同样智能的东西,但使用脚本语言而不是XML。我的构建相当简单——找到所有的.cs并编译它们,然后将dll放入调试/或发布/等等 我想添加一些从命令行看起来更简单的其他步骤: 比如,点击服务器来初始化某些缓存 用闭包编译 缩小CSS 生成后生成一些度量(在特定配置中) 运行NUnit(或自定义)测试框架并发送电子邮件 等

有什么方法可以取代VisualStudio对msbuild的使用,并且仍然在IDE中获得错误报告?我想我可能希望使用NAnt、Rake或PowerShell在VS中编译,或者使用同样智能的东西,但使用脚本语言而不是XML。我的构建相当简单——找到所有的.cs并编译它们,然后将dll放入调试/或发布/等等

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

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

然而,我仍然希望在IDE内部得到“错误在线”反馈。这是可能的吗?

您可以为VisualStudio编写一些扩展(宏、加载项、包等),以增强VisualStudio,使其他构建工具能够运行。最简单的形式可能只是使用“Tools\External Tools..”并在其中添加构建工具。只要将“生成消息”格式化为,就会显示输出窗口,就像它们是由MSBuild生成的一样

然而,我认为在VisualStudio中完全替换MSBuild是不可能的(顺便说一句,也不可取)

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

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

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


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

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

这是一个很好的屏幕截图示例