该文件不是有效的VSIX包

时间:2017-03-19 20:06:51

标签: c# visual-studio-2017 vsix

安装Visual Studio 2017后,我可以使用此Vs包一个月左右,直到第一次更新。现在,在我重建这个Visual Studio包,然后尝试安装VSIX之后,我收到一条消息,说它是一个"无效的VSIX包"。

任何帮助或指示都将不胜感激......

enter image description here

编辑:

日志显示:

无法找到名为'的入口点?'在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版本:19/03/2017 10:16:02 PM - 15.0.26228.9   建造者:D15RTWSVC 19/03/2017 10:16:02 PM -   ------------------------------------------- 19/03/2017 10:下午16:02 - 命令行参数:19/03/2017 10:16:02 PM - C:\ Program Files   (x86)\ Microsoft Visual   工作室\ 2017年\企业\ Common7 \ IDE \ VSIXInstaller.exe,C:\服务\ BSToolsProject_3 \工具\ ProductivityTools \ BIN   (场景引擎)\ 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 - 无法初始化Isolated Shell C:\ Program Files的设置   (x86)\ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ ssms.exe:   无法找到名为'?'的入口点在DLL' PkgdefMgmt.dll'。   19/03/2017 10:16:02 PM - 无法初始化Isolated的设置   Shell C:\ Program Files(x86)\ Microsoft SQL   Server \ 120 \ Tools \ Binn \ ManagementStudio \ ssms.exe:无法找到   入口点名为'?'在DLL' PkgdefMgmt.dll'。 19/03/2017 10:16:02 PM    - 初始化安装... 19/03/2017 10:16:02 PM - Microsoft.VisualStudio.ExtensionManager.InvalidExtensionPackageException:   该文件不是有效的VSIX包。在   Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl.ReadVSIXManifestFromPackage(流   stream,CultureInfo preferredCulture)at   Microsoft.VisualStudio.ExtensionManager.InstallableExtensionImpl..ctor(字符串   path,CultureInfo preferredCulture)at   Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.CreateInstallableExtension(字符串   extensionPath,CultureInfo preferredCulture)at   Microsoft.VisualStudio.ExtensionManager.ExtensionEngineImpl.CreateInstallableExtension(字符串   extensionPath)在VSIXInstaller.App.GetInstallableData(String   vsixPath,Boolean isRepairSupported,IEnumerable 1& skuData) at VSIXInstaller.App.Initialize(Boolean isRepairSupported) at VSIXInstaller.App.Initialize() at System.Threading.Tasks.Task 1.InnerInvoke()at   System.Threading.Tasks.Task.Execute()

2 个答案:

答案 0 :(得分:5)

检查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

答案 1 :(得分:0)

(适用于VS 2015)

对我来说问题是

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

in&#34; source.extension.vsixmanifest&#34;文件。

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