首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义发布def上下文命令在Azure DevOps 2019中中断

自定义发布def上下文命令在Azure DevOps 2019中中断
EN

Stack Overflow用户
提问于 2019-03-22 21:23:55
回答 1查看 113关注 0票数 1

我有一个TFS扩展,其中包含一些用于发布定义的上下文命令。清单中的贡献记录如下:

代码语言:javascript
复制
    {
        "id": "foo",
        "type": "ms.vss-web.action",
        "description": "...",
        "targets": ["ms.vss-releaseManagement-web.release-definition-explorer-context-menu"],
        "properties":
        {
            "title": "Foo",
            "text": "Foo",
            "icon": "images/foo-16.png",
            "group": "actions",
            "uri": "web/main.html"
        }
    },

实现该命令的main.html如下:

代码语言:javascript
复制
function OnFoo(SrcCtxt)
{
    //...
}

VSS.init({ usePlatformScripts: true });
VSS.register("foo", {execute: OnFoo});

2018年,2018年破产,2019年破产。Foo命令可以在菜单中看到,单击它时,main.html会加载(您可以通过dev工具看到它),但是没有调用OnFoo函数。

控制台显示以下内容:

在任何消息通道上都找不到处理程序:{"id":1,“methodName”:"instanceId":"MyPublisher.myext.foo",“instanceContext”:{“定义”:{“id”:1,“名称”:“示例发布定义”,“路径”:“}”,"params":null}

VSS.SDK.js的版本是最新的,刚刚重新下载。

编辑:我的工作原理是,我没有注册命令的权利。历史上,有两种方式来注册一个-通过一个对象和通过一个函数。将我的代码替换为后者,在控制台中得到另一条消息:

无法找到未注册的对象MyPublisher.myext.foo。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-25 14:32:39

在搜索样本时,我发现了贡献属性下的另一条线- registeredObjectId。一旦我将它添加到我的清单中,这些命令就会像以前一样工作。该属性的值必须与VSS.register()的第一个参数相匹配,而贡献ID以前就是该参数。

不酷微软。不酷,

编辑:扩展中的其他东西也坏了。首先,JQuery的$对象似乎不再可用了。不再适合StackOverflow格式,现在是一篇博客文章

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55307971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档