该文件不是有效的 VSIX 包

The file is not a valid VSIX package

安装 Visual Studio 2017 后,我可以在这个 Vs 包上工作一个月左右,直到第一次更新。现在,在我重建这个 Visual Studio 包并尝试安装 VSIX 之后,我收到一条消息说它是一个 "invalid VSIX package".

如有任何帮助或指点,我们将不胜感激...

编辑:

日志显示如下:

找不到名为“?”的入口点在 DLL 中 'PkgdefMgmt.dll'

19/03/2017 10:16:02 PM - Microsoft VSIX Installer 19/03/2017 10:16:02 PM - ------------------------------------------- 19/03/2017 10:16:02 PM - vsixinstaller.exe version: 19/03/2017 10:16:02 PM - 15.0.26228.9 built by: D15RTWSVC 19/03/2017 10:16:02 PM - ------------------------------------------- 19/03/2017 10:16:02 PM - Command line parameters: 19/03/2017 10:16:02 PM - C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\VSIXInstaller.exe,C:\Service\BSToolsProject_3\Tools\ProductivityTools\Bin (Scenario Engine)\Capitec.ScenarioEngineExtension.vsix 19/03/2017 10:16:02 PM - ------------------------------------------- 19/03/2017 10:16:02 PM - Microsoft VSIX Installer 19/03/2017 10:16:02 PM - ------------------------------------------- 19/03/2017 10:16:02 PM - Failed to initialize settings for Isolated Shell C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\ssms.exe: Unable to find an entry point named '?' in DLL 'PkgdefMgmt.dll'. 19/03/2017 10:16:02 PM - Failed to initialize settings for Isolated Shell C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\ManagementStudio\ssms.exe: Unable to find an entry point named '?' in DLL 'PkgdefMgmt.dll'. 19/03/2017 10:16:02 PM - Initializing Install... 19/03/2017 10:16:02 PM - Microsoft.VisualStudio.ExtensionManager.InvalidExtensionPackageException: The file is not a valid VSIX package. at Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl.ReadVSIXManifestFromPackage(Stream stream, CultureInfo preferredCulture) at Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl..ctor(String path, CultureInfo preferredCulture) at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.CreateInstallableExtension(String extensionPath, CultureInfo preferredCulture) at Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.CreateInstallableExtension(String extensionPath) at VSIXInstaller.App.GetInstallableData(String vsixPath, Boolean isRepairSupported, IEnumerable1& skuData) at VSIXInstaller.App.Initialize(Boolean isRepairSupported) at VSIXInstaller.App.Initialize() at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.Execute()

检查 VSIX 文件是否包含使其成为 VSIX v3 文件所需的文件:

extension.vsixmanifest manifest.json catalog.json

并且 extension.vsixmanifest 文件包含先决条件部分

https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-migrate-extensibility-projects-to-visual-studio-2017

(适用于 VS 2015)

我的问题是部分

<Prerequisites>
    <Prerequisite Id="Microsoft.VisualStudio.Shell.12.0" Version="[12.0]" />
</Prerequisites>

在 "source.extension.vsixmanifest" 文件中。

删除这些行后,VSIX 文件开始工作。