如何从外部进程打开 Visual Studio 中的现有工作项?

2024-01-12

我有一个控制台应用程序,它使用 TFS API 创建工作项。我希望应用程序在打开创建的工作项的情况下启动 Visual Studio。我试过:

Process.Start("vstfs:///WorkItemTracking/WorkItem/123?url=http://mytfs:8080/tfs/mycollection")

这将打开 Visual Studio(我有 2013 update3),并打开一个工作项,显示“正在打开工作项 123...”,但 VS 从未真正完成此打开。如果我关闭此窗口,则会收到错误消息The given key was not present in the dictionary.

我从命令行/devenv 尝试过,两者都得到了相同的结果:

C:\> start vstfs:///WorkItemTracking/WorkItem/123?url=http://mytfs:8080/tfs/mycollection
C:\> "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /Tfslink vstfs:///WorkItemTracking/WorkItem/123?url=http://mytfs:8080/tfs/mycollection

我尝试打开另一个 TFS 项目 - 一个构建 - 并且效果很好:

C:\> start vstfs:///Build/Build/111?url=http://mytfs:8080/tfs/mycollection

I could 在 Web UI 中打开它们 http://msdn.microsoft.com/en-us/library/bb822129.aspx- 但我的用户更喜欢 Visual Studio。

那么,如何在 VS 中启动工作项?


我发现我能够使用 ShellExecute() 启动 TFS 并加载所需的工作项。

DECLARE INTEGER ShellExecute ;
    IN SHELL32.dll ;
    INTEGER nWinHandle,;
    STRING cOperation,;
    STRING cFileName,;
    STRING cParameters,;
    STRING cDirectory,;
    INTEGER nShowWindow

ShellExecute(0, 'OPEN', "vstfs:///WorkItemTracking/WorkItem/999999?url=http://mytfsserver:8080/tfs/defaultcollection", '', '', 1)

这个代码示例来自VFP,但是前提应该是到处都是一样的。

  • 在Shell32.dll中声明该函数
  • 使用正确的参数调用函数

以下是如何从命令窗口使用工作项启动 TFS:

    START vstfs:///WorkItemTracking/WorkItem/999999?url=http://mytfsserver:8080/tfs/defaultcollection

您可以创建一个批处理文件并传入工作项编号以使其更容易。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从外部进程打开 Visual Studio 中的现有工作项? 的相关文章

随机推荐

  • Spring Ldap - 多个基本名称

    我正在尝试使用 spring LDAP ODM 从 LDAP 接收一些属性 有没有办法在中配置多个基本名称
  • Sprintf 重复值

    这是一个简单的问题 我需要在 sprintf 函数中复制值 sprintf s s s arg1 arg1 arg2 我怎样才能只传递 arg1 一次 似乎无法在 php net 上找到答案 Thanks Andrew 使用索引格式 1 s
  • 如何通过代理连接不和谐机器人

    我正在尝试使用discord py 并通过代理运行discord 机器人 这关于此的不一致文档 https discordpy readthedocs io en latest api html highlight proxy discor
  • 如何从 VB6 .frx 文件中提取图像?

    我正在将一些 VB6 代码转换为 C VB6 将资源存储在 frx文件 与 C 存储它的方式相同 resx文件 如何将图像转换为 frx文件到可以嵌入的东西 resx file 这是部分答案 有一个实用程序可用于执行提取部分 Gfx来自Fr
  • Rails 中的 j 函数有什么作用?

    我刚刚发现一个博客提到jRails 中的函数 他们用它来进行 ajax 样式的页面更新 cart html 我知道他们正在使用部分来渲染cart部分 但有什么意义j 我发现一些文章说它将字符串转换为 JavaScript 可以接受的内容 但
  • 滚动视图中的线性布局不占据整个高度

    我有一个线性布局说V1 在L1内部我有一个滚动视图V2 在滚动视图内部我有另一个线性布局V3 现在V3有一个gridtview V4 PBM 是 如果我的列表视图有 6 个项目 则只有 2 个项目可见 对于其余的 即使我看到有足够的空白空间
  • 如何以非阻塞的方式组合可观察量?

    我有一个 Observables 集合 每个 Observables 检索不同的数据类型 我将这些 Observable 链接起来以获取页面所需的所有数据 事实上 所有这些信息都是独立的 因此加载一个信息不应阻止或干扰加载其他信息 这是我无
  • 查找两个网页之间的最短路径

    我需要找到两个维基百科页面之间的最短距离 以 跃点 为单位 我有一种方法可以提取页面上的所有内部 wiki 链接 我知道起始目的地和结束目的地 但我对如何从数据中提取跃点一无所知 到目前为止 我一直在使用链接提取方法来填充字典 其中键是页面
  • 最简单、简约、opengl 3.2 cocoa项目

    我已经使用旧版 openGL 和 cocoa 多年了 但现在我正在努力过渡到 openGL 3 2 互联网上有几个例子 但它们都太复杂了 许多甚至在 XCode 5 1 下不再编译 有人可以编写一个最简单 简约 最小的可可代码示例 只是为了
  • 如何使用 rjags / JAGS 的估计值来预测值

    设置模型并使用吉布斯采样对其进行训练后 我得到了所有隐藏值预测的结果 jags lt jags model example bug data data n chains 4 n adapt 100 update jags 1000 samp
  • 之间的用法差异。 a.out、.ELF、.EXE 和 .COFF

    请不要看问题标题误会我的意思 我知道它们是什么 可移植可执行文件的格式 但我的兴趣范围略有不同 我的困惑 我参与了最初来自第三方的重新托管 重定向应用程序 问题是 有时目标代码的格式也是 elf COFF 格式 但仍然显示 可执行且可链接
  • Ajax CORS 替代方案

    我在 api example com 域上有一个 REST API 服务 并希望将此 api 也用于我在 www example com 上的 javascript ajax 请求 我使用 CORS 构建 jQuery AJAX 请求 GE
  • 验证 macOS 应用程序以将 Mac 从睡眠状态唤醒

    我正在寻找一种对 macOS 应用程序进行身份验证的方法 该方法允许该应用程序将用户的 Mac 从睡眠状态唤醒 我知道我可以安排一个电源事件来使用与所提供的类似的代码唤醒计算机here https stackoverflow com que
  • 文件描述符存储在进程内存中的哪里?

    当从执行点调用函数A时 内部是一个JMP语句到指向函数A的地址 因此当前执行点被保存到堆栈中 PC加载被调用函数A的地址并继续 为了在函数调用后返回到执行点 函数块应该有相同的压入和弹出堆栈 通常在 C 中退出函数时 定义的堆栈变量会被销毁
  • 如何防止 Vim 在分割窗口时滚动?

    当我水平分割窗口时 我想阻止 Vim 滚动 如果这是正确的词 假设我在 Vim 中编辑一个 10 行文件 我在缓冲区上有一个窗口 窗口高 40 行 有足够的空间容纳两个窗口 一个在另一个之上 两个窗口都显示整个缓冲区 比方说scrollof
  • $parse、$interpolate 和 $compile 服务之间有什么区别?

    有什么区别 parse interpolate and compile服务 对我来说 他们都做同样的事情 获取模板并将其编译为模板函数 这些都是有助于 AngularJS 视图渲染的服务示例 尽管 parse and interpolate
  • Java 计算一年中的天数或两个日期之间的天数

    任何本机 Java 类中是否有一种方法可以计算特定年份中过去 将有多少天 就像 这是一个闰年 https en wikipedia org wiki Leap year 366天 还是平年 365天 还是需要我自己写 我正在计算两个日期之间
  • git - 只获取文件,不获取历史记录

    当我跑步时git pull or git fetch 我显然检索了历史记录和文件 对于大型项目来说 这需要花费很多时间 我想知道如何加快这个过程 对于某些项目 我只对源代码感兴趣 而不是对历史感兴趣 有没有办法告诉 git 我只想获取文件的
  • 在寄存器前加一个星号是什么意思?

    我正在研究c 如何通过汇编语言调用正确的成员函数 我附带的简单程序如下 class A public virtual void show class B public A public void show
  • 如何从外部进程打开 Visual Studio 中的现有工作项?

    我有一个控制台应用程序 它使用 TFS API 创建工作项 我希望应用程序在打开创建的工作项的情况下启动 Visual Studio 我试过 Process Start vstfs WorkItemTracking WorkItem 123