【问题标题】:Why VS2019 marks my extension as deprecated为什么 VS2019 将我的扩展标记为已弃用
【发布时间】:2019-04-04 11:01:38
【问题描述】:

我不使用 VSIX 进行集成(支持旧的 VS 和 SSMS)。安装程序将所有 dll 放入“程序文件”,并将 pkgdef 和清单放入特定文件夹。目前 VS2019 显示我的扩展使用“已弃用 API”的消息。

带有来自 docs.microsoft.com 的消息的图像,但它是相同的。

我完成了这些步骤:

  • 我创建了 asyncPackage(现在为空)。
  • 添加了 Microsoft.VisualStudio.Component.CoreEditor 到 vsixmanifest
  • 使用来自here 的代码生成catalog.json 和manifest.json

我的包看起来是这样(构造函数现在是空的)

    [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
    [InstalledProductRegistration("#110", "#112", "7.1.7", IconResourceID = 115)]
    [ProvideMenuResource("MyMenus.ctmenu", 1)]
    [ProvideAutoLoad(GuidList.ShellInitialized, PackageAutoLoadFlags.BackgroundLoad)]
    [ProvideAutoLoad(VSConstants.UICONTEXT.NoSolution_string, PackageAutoLoadFlags.BackgroundLoad)]
    [System.Runtime.InteropServices.Guid(GuidList.guidMyPkgString)]
    public sealed class MyPackage : AsyncPackage {

但 VisualStudio 一次又一次地显示有关已弃用 API 的消息。我错过了什么? VS 在加载包时检查什么?

编辑:我创建了 AsyncPackage,添加了属性,更新了 VsixV3 的集成文件。为什么VS同步加载扩展?

【问题讨论】:

  • 什么信息-请显示!!
  • @ErikEJ 添加了带有消息的图像。我也有。
  • 您是否点击了“了解更多”链接?
  • @ErikEJ 它让我看到文章"Synchronously autoloaded extensions"
  • 目前仍在苦苦挣扎,因为我无法重现您的问题。就像您在上面分享的步骤一样,我无法弄清楚您的项目是什么样的。您的扩展程序适用于什么功能?正如你上面提到的,它是一个空包,那么你的扩展是如何工作的,也许这就是问题的原因。

标签: visual-studio-extensions vsix vs-extensibility


【解决方案1】:

这可以帮助谁解决相同的问题。 正如我上面提到的,我们不使用 VSIX。并且所有文件都由安装程序处理。问题是这被遗漏了:

[$RootKey$\Packages\{YOUR PACKAGE GUID}]
@="YOUR PACKAGE NAME"
"AllowsBackgroundLoad"=dword:00000001

我在检查私有注册表privateregistry.bin中的所有包时发现了它

如果您正在使用UI Context,请不要忘记:

[$RootKey$\AutoLoadPackages\$UICONTEXT_GUID}]
"$YOUR_PACKAGE_GUID”= dword:00000002

感谢MS git

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多