VS2019 RegPkg.exe 引发未处理异常



我刚刚安装了带有SDK的Visual Studio 2019,当我尝试运行RegPkg.exe时,我看到以下错误。我没有在机器上安装任何其他VS实例,但是我很困惑为什么错误报告有关版本15.0.0.0(即VS2017)的信息。

有人可以帮我解决此错误吗?

未处理的异常:System.IO.FileNotFound异常:无法加载 文件或程序集 'Microsoft.VisualStudio.Shell.Framework, 版本=15.0.0.0,区域性=中性,公钥令牌=b03f5f7f11d50a3a' 或 它的依赖项之一。系统找不到指定的文件。
at Microsoft.VisualStudio.Tools.RegPkg.Main(String[] 参数)

我刚刚注意到我收到了完全相同的错误消息,使用的是VS 2017的版本。因此,它与您正在使用的版本无关。我什至没有安装 2019。

Microsoft只是破坏了他们的SDK,显然已经破坏了2年,没有人注意到。作为参考,我使用的是VS 2017 15.9.7,也安装了VSSDK。

我在生成的 VSIX 扩展中有一个对该 DLL 的 NuGet 引用,所以我在我的 .nuget 包缓存中有一个副本("%USERPROFILE%.nuget\packages\microsoft.visualstudio.shell.framework\15.9.28307\libet45\Microsoft.VisualStudio.Shell.Framework.dll")。我将该版本复制到 regpkg.exe 所在的文件夹中,并解决了错误 (%VSSDK150INSTALL%\VisualStudioIntegration\Tools\Bin)。

可能不是最好的解决方案,但Microsoft需要修复他们的产品。我怀疑它是他们在 2017 年产品重组时中断的,因为他们还将扩展依赖项所需的所有程序集添加到 NuGet。我猜他们忘记将该程序集保存在实际的 VS 安装文件夹中。

编辑:我一直在研究这个问题,显然该文件实际上存在于 lib 子文件夹中,与 exe 一起。但是,我找到的所有版本都没有真正与CreatePkgDef一起使用.exe这是我的备份计划,因为它现在会抛出此错误:

CreatePkgDef : error : ArgumentException: No Visual Studio 在此程序集中找到的注册属性。大会应 包含属性的实例 'Microsoft.VisualStudio.Shell.RegistrationAttribute' 中定义 程序集 'Microsoft.VisualStudio.Shell.Framework' 版本 '15.0.0.0'

似乎可以使用 regpkg.exe,尽管我还没有尝试过所有选项组合。

相关内容

  • 没有找到相关文章

最新更新