Visual Studio集成了自定义MSBuild任务行为

时间:2009-05-11 23:47:55

标签: visual-studio msbuild nunit msbuild-task

我正在寻找一个NUnit自定义MSBuild任务的网络,该任务将在每个构建上运行,并且很好地使用Visual Studio UI(2008是我的版本)。我发现MSBuild.Community.Tasks项目很棒,但在Visual Studio集成部分失败了。 我真正想要的是将失败的测试显示为VS的错误列表窗口中的警告/错误(以及测试不成功时的FAILED项目构建)。所以我编写了自己的自定义MSBuild任务,完成了我想要的工作。

BUT。

我唯一的问题是,正常的VS UI错误列表行为是,当您单击错误时,它会跳转到相应的源文件,突出显示有问题的代码。我能够将文件和行号与失败的测试联系起来然而我无法以任何方式说服Visual Studio为我突出显示有问题的代码(当我双击错误时)。我得到的只是光标在正确的位置。 我尝试了lineendLinecolumnendColumn方法参数(Log.LogError())的各种组合,但无济于事。并且基于编译器错误输出的错误,它看起来也只提供行和列(没有结束值)。

有人反对这种古怪并解决了它吗?

2009年5月13日更新
你可以免费获得这个项目(没有方法选择) http://code.google.com/p/nunitmsbuildvsintegrated/

2 个答案:

答案 0 :(得分:1)

对于此功能,您必须创建在Visual Studio中显示自定义面板的Visual Studio集成包。在构建项目时将调用此自定义面板。

Visual Studio Extensibility Developer Center

答案 1 :(得分:0)

我没有解决你的确切问题,但有一些想法。

您确定要在每个构建结束时运行一整套单元测试吗?我个人觉得这是一个生产力杀手。相反,在处理代码时,我倾向于运行一个仅包含相关代码的小型子集测试,这就是ReSharperTestDriven.NET等工具发挥作用的地方。

ReSharper Unit Test Sessions
(来源:jetbrains.com