【发布时间】:2013-08-29 17:36:32
【问题描述】:
我有 VS2012 专业版,非常希望在构建结束时运行经过精心打磨的测试。
我认为我可以通过非常简单地编写一个插件来做到这一点。所以我在 c# 插件中有这个。
public void OnConnection(object app, ext_ConnectMode cM, object aI, ref Array cust) {
_applicationObject = (DTE2)app;
_addInInstance = (AddIn)aI;
if (_applicationObject != null) {
_bldevents = _applicationObject.Events.BuildEvents;
_bldevents.OnBuildDone += _bldevents_OnBuildDone;
}
}
void _bldevents_OnBuildDone(vsBuildScope Scope, vsBuildAction Action) {
try {
_applicationObject.ExecuteCommand("TestExplorer.RunAllTests");
} catch(Exception e) {
string d = " + " + e.HResult;
Clipboard.SetText(e.Message + " ~ " + e.HResult);
MessageBox.Show(e.Message);
}
}
但是,当我进行构建时,我收到错误 错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回。 ~ -2147467259
ExecuteCommand 处理 File.NewFile 之类的东西,在命令窗口中运行 TestExplorer.RunAllTests 没有问题。
是否有一些设置需要做或让 ms 以某种方式阻碍了这种行为,因为他们希望我破产并获得最终版本;)
有什么想法吗?
【问题讨论】:
标签: c# visual-studio-2012 add-in