Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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 更新Private Gallery atom,以便VS显示扩展更新可用_Visual Studio_Visual Studio 2012_Visual Studio Extensions_Vsix_Atom Feed - Fatal编程技术网

Visual studio 更新Private Gallery atom,以便VS显示扩展更新可用

Visual studio 更新Private Gallery atom,以便VS显示扩展更新可用,visual-studio,visual-studio-2012,visual-studio-extensions,vsix,atom-feed,Visual Studio,Visual Studio 2012,Visual Studio Extensions,Vsix,Atom Feed,我正在使用Visual Studio发布公司内部的VSIX。我的VSIX显示在Visual Studio 2012中“扩展和更新”的“联机”部分,我可以从那里安装它: 但是,一旦安装了扩展,我就不知道如何更新扩展,使其显示在同一对话框的“更新”部分,也不知道如何让Visual Studio通知我更新可用。 我尝试了以下各种组合: 增加VSIX本身和atom.xml中的版本号 将条目内的更新的标记更改为当前日期和时间 将feed标记内的updated标记更改为当前日期和时间 将条目标记内的已发

我正在使用Visual Studio发布公司内部的VSIX。我的VSIX显示在Visual Studio 2012中“扩展和更新”的“联机”部分,我可以从那里安装它:

但是,一旦安装了扩展,我就不知道如何更新扩展,使其显示在同一对话框的“更新”部分,也不知道如何让Visual Studio通知我更新可用。

我尝试了以下各种组合:

  • 增加VSIX本身和atom.xml中的版本号
  • 条目内的
    更新的
    标记更改为当前日期和时间
  • feed
    标记内的
    updated
    标记更改为当前日期和时间
  • 条目
    标记内的
    已发布
    标记更改为当前日期和时间
  • 我的期望是,1、2和3的组合应该足以显示有更新,但没有效果。似乎证实了我的期望:

    • 已发布-添加扩展的日期/时间
    • 更新-上次更新扩展的日期/时间
    我也同时尝试了所有4个,也没有用

    我从一个Apache实例为这个库提供服务,我已经确认它为atom.xml设置了一个正确的上次修改的头

    VisualStudio检查更新是否有间隔?打开“扩展和更新”的“更新”部分是否不强制Visual Studio进行检查

    以下是my atom.xml的内容:

    
    Visual Studio扩展库
    uuid:CDC295B0-7885-4B59-9BDF-F059A9F4B338;id=1
    2013-12-11T19:00:00Z
    MyVSIX..b242c6de-d0a6-4ba1-9672-b866e36607d3
    MyVSIX
    MyVSIX是一个很好的扩展,可以做很多事情。
    2013-12-11T19:00:00Z
    2013-12-11T19:00:00Z
    达克斯罗德
    MyVSIX..b242c6de-d0a6-4ba1-9672-b866e36607d3
    0.5
    

    我还应该注意,我的扩展名不是强名称签名的,因为它使用了未签名的第三方程序集。这有区别吗?

    看起来VS每天只检查一次更新,但我无法让它在Atom gallery中检测到更新的扩展。

    我也遇到了同样的问题,并进行了一些深入的调查。在我的例子中,很奇怪,我的扩展在私人画廊中总是显示为“下载”,而不是“已安装”(绿色挂钩)。所以我猜在Gallery项目和已安装项目之间缺少链接

    答案很简单,很烦人:

    ID必须是“ID”。 因此,产品ID(在VSIX配置中)是必须位于Atom文件中的引用

    就你而言:

    <Vsix>
        <Id>b242c6de-d0a6-4ba1-9672-b866e36607d3</Id>
    </Vsix>
    
    
    b242c6de-d0a6-4ba1-9672-b866e36607d3
    
    如您所见:使用您的“MyVSIX..”。 之后,它将识别您的扩展,如果已安装,还将在库中隐藏“下载”按钮

    更新:

    如果您增加内容就足够了

    更新周期(我的经验):

    • 它在VisualStudio启动时进行检查(每天一次,如果启用了选项)
    • 它会在每次打开“扩展和更新”时进行检查。所以,保存XML后重新打开就足够了
    编辑:(感谢投票)

    以下是更好理解的图片(VS2013制作,但与VS2012几乎相同)

    VSIX文件中的ID。

    它在Atom Feedfile中的外观

    <Vsix>
        <Id>d4d50729-a612-4260-9b2e-3a61ad5e2207</Id>
    </Vsix>   
    
    
    d4d50729-a612-4260-9b2e-3a61ad5e2207
    
    如果在Gallery和VSIX文件之间正确链接,它应该是什么样子的。

    我们尝试在私人图库中使用atom.xml进行自动更新。即使从VSIX标记的ID中删除了名称,它也根本不起作用。我们正在使用为VS 2015开发的软件包

    然后,仔细观察,我们发现包类的ID(也存在于vsct文件中)与清单文件中定义的ID不同:source.extension.vsixmanifest。第一个是纯GUID,第二个是名称、生产者和另一个GUID的串联。 比如: MyVSIX.MyCompany.GUID(格式为xxxxxxxx-xxxx…)

    当我们使用第二个时,一切都很好。我们甚至通过双击vsix文件来更新以前安装的包

    我想感谢你,因为这篇文章是解决我们问题的一个很好的开端

    祝你一切顺利,
    Dan Vasilescu

    不幸的是,即使几天后,仍然没有更新的迹象。非常感谢,这很有效!为了清楚起见,我们正在讨论
    元素中的
    元素。感谢您的反馈。我已经在exmaples中添加了VSIX标签以澄清位置。太好了-谢谢!仍然想知道为什么微软会把扩展名放在+。。在他们的指南中的id前面