我們有一個Visual Studio擴展,我們在一個私人畫廊中託管。安裝了初始版本後,如果返回到擴展和更新頁面,可以看到它列在已安裝的擴展列表中。突出顯示[禁用]和[卸載]鏈接,在右側窗格中,可以看到正確的「創建者」,「安裝日期」,「版本」和「自動更新此擴展程序」。更新私人畫廊Visual Studio擴展
當我們準備的更新,我們做如下的釋放過程:
- 在AssemblyInfo.cs中,我們更新了「的AssemblyVersion」和「的AssemblyFileVersion」到下一個版本,例如「1.12.1.0」
- 在source.extension.vsixmanifest中,我們將'Version'更新爲下一個版本(我們使用相同的值,即「1.12.1.0」)
- 然後我們簽署VSIX包
- 然後,我們把VSIX文件放在我們的私人畫廊
- 然後我們更新atom.xml文件 - 稍後會有更多。 atom.xml文件恰好存在於我們的VSIX所在的文件夾中,因爲我們只有有限的這些擴展。
但是,擴展不會在您啓動Visual Studio時自動更新,也不會在您訪問「擴展和更新」時顯示爲更新。因此必須通知用戶新版本,然後手動卸載現有版本,然後安裝更新。
好的,我敢肯定,VSIX文件本身沒有任何不良之處;我懷疑atom.xml可能有問題。關於如何創作atom.xml文件有幾篇文章,但這些文章之間有點不一致,例如, MSDN, justinmchase, Kornfeld Eliyahu Peter,stackoverflow等
好的。這裏是我的atom.xml(稍作編輯)
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">Our Extension Gallery</title>
<id>uuid:b62cf56a-8a60-4eb6-b217-5e2972e01b39;id=1</id>
<updated>2017-02-28T11:57:22Z</updated>
<entry>
<id>MyAssemblyName.Microsoft.0681eb6c-4275-4d64-9333-dfdabe14f286</id>
<title type="text">Description One</title>
<summary type="text">Description Two</summary>
<published>2017-01-31T11:57:22Z</published>
<updated>2017-02-28T11:57:22Z</updated>
<author>
<name>Me!</name>
</author>
<content type="octet/stream" src="http://server/VisualStudioGallery/MyAssemblyName.vsix" />
<Vsix
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/developer/vsx-syndication-schema/2010">
<Id>0681eb6c-4275-4d64-9333-dfdabe14f286</Id>
<Version>1.12.1.0</Version>
</Vsix>
</entry>
</feed>
那麼我們在atom.xml中更新了什麼?
- 飼料/更新
- 進/入/更新
- 進/入/ VSIX /版本
日期的格式
在一些例子中我've seen'2011-04-14T14:24:22-07:00',而在 其他人我看過'2012-11 -06T22:19:45Z」。有關係嗎?
爲了防萬一UTC,服務器和客戶端時間之間出現混淆,我嘗試使用「時間」部分作爲'T00:00:01Z'。沒有成功。
'進/入/ ID' VS '進/入/ VSIX /編號'
有我得到了正確的外殼爲這些XML元素?我發現要下載我需要'MyAssemblyName.Microsoft.0681eb6c-4275-4d64-9333-dfdabe14f286',但對於feed/entry/Vsix/Id,它是隻是'0681eb6c-4275-4d64-9333-dfdabe14f286'。
我覺得我已經對XML的各個部分進行了修飾,但無濟於事。我敢肯定這很簡單......但是那是什麼讓我無法迴避。
由於
格里夫
嗨科爾 - 是的,這確實匹配。 – DrGriff
我的AssemblyVersion(和AssemblyVersion)是「1.12.1.0」。這個版本是否也應該放入Manifest版本?如果不是,清單版本(「n.n」或「n.n.n.n」)的格式是什麼?如果這些不同,那麼在atom.xml中應該使用哪個版本? – DrGriff
根據您的xml文件,'feed/entry/id'和'feed/entry/Vsix/Id'的值是不同的。 –