VS2019 RegPkg.exe引发未处理的异常

时间:2019-08-27 11:53:24

标签: c# visual-studio-2019

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

有人可以帮助我解决此错误。

  

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

  

CreatePkgDef:错误:ArgumentException:没有Visual Studio   在此程序集中找到注册属性。组装应   包含属性的实例   在中定义的“ Microsoft.VisualStudio.Shell.RegistrationAttribute”   程序集'Microsoft.VisualStudio.Shell.Framework'版本'15 .0.0.0'

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