I'm using a Visual Studio Private Gallery to publish a VSIX internal to my company. My VSIX shows up in the "Online" section of "Extensions and Updates" in Visual Studio 2012 and I can install it from there:
However, once it's installed, I can't figure out how to update my extension in a way that makes it show up in the "Updates" section of that same dialog box, nor can I figure out how to make Visual Studio notify me that an update is available.
I've tried various combinations of the following:
- Increasing the version number in the VSIX itself and in the atom.xml
- Changing the
updated
tag inside of theentry
tag to the current date and time - Changing the
updated
tag inside of thefeed
tag to the current date and time - Changing the
published
tag inside of theentry
tag to the current date and time
My expectation was that a combination of 1, 2, and 3 should be enough to show that there is an update, but to no avail. This guide seems to confirm my expectation:
- Published - The date/time when the extension was added.
- Updated - The date/time when the extension was last updated.
I've also tried all 4 at the same time, also to no avail.
I'm serving the gallery from an Apache instance, and I've confirmed that it's setting a correct Last-Modified header for the atom.xml .
Is there some interval at which Visual Studio checks for updates? Does opening the "Updates" section of "Extensions and Updates" not force Visual Studio to check?
Here's the contents of my atom.xml:
<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">Visual Studio Extension Gallery</title>
<id>uuid:CDC295B0-7885-4B59-9BDF-F059A9F4B338;id=1</id>
<updated>2013-12-11T19:00:00Z</updated>
<entry>
<id>MyVSIX..b242c6de-d0a6-4ba1-9672-b866e36607d3</id>
<title type="text">MyVSIX</title>
<summary type="text">MyVSIX is a nifty extension that does things.</summary>
<published>2013-12-11T19:00:00Z</published>
<updated>2013-12-11T19:00:00Z</updated>
<author>
<name>daxelrod</name>
</author>
<content type="application/octet-stream" src="vsix/MyVSIX.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>MyVSIX..b242c6de-d0a6-4ba1-9672-b866e36607d3</Id>
<Version>0.5</Version>
<References />
<Rating xsi:nil="true" />
<RatingCount xsi:nil="true" />
<DownloadCount xsi:nil="true" />
</Vsix>
</entry>
</feed>
I should also note that my extension is not Strong Name Signed, because it uses a third party assembly that is unsigned. Does that make a difference?
<Id>
element inside the<Vsix>
element. – Hine