VSIX 部署片段作为扩展的一部分

VSIX deploying snippets as part of extension

我在部署一些代码片段作为 visual studio 扩展的一部分时遇到问题,它们在我最初添加扩展时有效,但如果我增加扩展的版本并从我的私人画廊更新它然后无法在该位置找到片段。我的 pkgdef 文件中有这一行:

[$RootKey$\Languages\CodeExpansions\CSharp\Paths] "snip"="$PackageFolder$\Snippets\CSharp\snip"

它最初设置了注册表位置,但是当您更新插件而不是重新安装它时,它不会更新此路径。有没有什么方法可以解决我遗漏的问题,而无需编写代码来更新在更新扩展时运行的密钥(我目前不确定该怎么做)?

提前致谢。

我得到了这个工作,我不完全确定如何,但我将 pkgdef 文件移动到子文件夹本身,然后将其设置为:

[$RootKey$\Languages\CodeExpansions\CSharp\Paths] 
"snip"="$PackageFolder$"

这似乎解决了问题。我不完全确定为什么我以前的路径不正确,因为我目前没有要引用的代码,但我相信我在路径中添加了一个不正确的子文件夹。令人困惑的主要问题是为什么第一次可以正确提取代码段,但在更新扩展时才开始失败。