问题标签 [vsixmanifest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
201 浏览

visual-studio - 签名和更新 Visual Studio 扩展

所以这似乎是一个非常简单的任务,我创建了一个几天前上传的 VSIX。几天后,我修复了一些问题,现在我想更新市场上的扩展。

我继续查看了MSDN,其中说明了以下内容:

未签名的所有用户扩展都不会自动更新。您应该始终签署您的扩展名。

因此,我继续尝试按照此处的说明签署我的 VSIX 。这告诉我执行以下操作:

从 VisualStudioExtensibility 搜索 VSIXSignTool 并安装 NuGet 包。

下载软件包后,我搜索了应该在您的project's local packages location. 这让我想知道,因为我没有这个项目的任何本地包文件夹。此外,我应该使用以下命令签署我的扩展名:

VSIXSignTool.exe sign /f <certfile> /p <password> <VSIXfile>

这让我想知道,应该是什么样的证书,密码应该是什么,新密码?

无论如何,假设我以某种方式设法做到这一点,我将如何“更新”扩展名?只需将其作为具有新 VSIX-Id 的新包再次上传?

总结一下,这是我的问题:

  • 如何/在哪里下载VSIXSignTool
  • 我需要将哪些参数传递VSIXSignTool给上面提供的命令
  • 你如何真正更新市场上的扩展,我需要一个新的 VSIX Id
0 投票
1 回答
365 浏览

c# - 如何创建 mvc 项目模板并在 VSIX 项目中使用它。项目中不存在目标“TemplateProjectOutputGroup”

我按照以下步骤,

  1. 在 Visual Studio 中使用预定义模板创建了一个基本的 MVC 应用程序(比如 MVCTemplate)
  2. 使用 Visual Studio 中的导出模板向导为上述项目创建了 MVCTemplate.vsTemplate
  3. 将新创建的 MVCTemplate.vsTemplate 和 MVCTemplate.csproj 的副本(重命名为RequiredMVCTemplate.csproj)添加到上述项目中
  4. 在同一解决方案中创建了一个新的 VSIX 项目 (MVCWizard)
  5. 在 MVCWizard 项目中通过添加新资产 MVCTemplate 更新了 source.extension.vsixmanifest 文件(源 = 项目,类型 = Microsoft.visualstudio.Projecttemplate”和路径)

代码如下

我收到以下错误

项目中不存在目标“TemplateProjectOutputGroup”。请建议最好的方法来创建一个 mvc 项目模板并在基于向导的 vsix 项目中使用它并生成另一个这样的 mvc 应用程序。

0 投票
0 回答
71 浏览

c# - 从自定义项目模板加载项目时如何打开自定义项目概览页面

在 Visual Studio 中加载自定义项目模板时添加自定义页面并打开它的位置。例如下面是在 Visual Studio 中打开 MVC 项目模板时的项目主页,同样我需要为我的项目模板打开这样一个自定义页面。

我知道下面的 MVC 项目主页标记、样式、资源和清单文件位于“C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\Web Tools\Project \概述”。微软预定义的模板如何加载这样的主页?起点是什么?他们是否使用任何工具或库来做到这一点?

0 投票
1 回答
331 浏览

visual-studio - 有没有办法在 vsTemplates 中添加条件?或根据用户选择生成输出项目的方法

我需要生成自定义项目模板。我正在向用户展示向导(使用 vsix 项目),该向导具有三个复选框,用户可以在其中选择一个或多个复选框,根据需要创建的项目数量的选择。

假设用户选择一个,那么输出解决方案必须有一个项目。假设用户选择任意两个,那么输出解决方案必须有这两个项目。

目前,无论选择如何,都会创建三个输出项目。根 vsTemplate 文件如下所示,有没有办法满足我的要求?

我尝试了两种方法 1)在运行时相应地更改根 vsTemplate 文件,但始终根据 bin 目录中 zip 文件夹中的 vsTemplate 文件创建输出项目。2)使用开发工具环境自动化对象,在IWizard接口的ProjectItemFinished方法中以编程方式添加或删除项目,例如:Dte.Solution.AddFromTemplate(vsTemplatePath, NewProjectName) 上面一行创建了一个新项目但缺少文件夹结构,很难调整它。

有什么简单的方法可以做到这一点吗?

0 投票
1 回答
351 浏览

visual-studio - 如何禁用 VS2017 的扩展但启用 VS2019

我创建了一个“.vsix”包。我已经更新了清单文件 "InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,)"

用于安装“.vsix”文件的命令是 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VSIXInstaller.exe" /a /q "C:\ccrc.vsix"

但是仍然为 vs2017 安装了扩展。

任何禁用 vs2017 扩展的方法,但保持为 vs2019 启用

0 投票
1 回答
218 浏览

c# - 如何根据所选的 Visual Studio 主题创建自定义 VSIX 向导

我需要创建一个自定义 vsix(Visual Studio 扩展项目)向导,它是一个单一的 Windows 窗体,我开发它时考虑了在 Visual Studio 中选择的深色主题。因此,向导步骤中的窗口背景以深色背景显示。当用户将 Visual Studio 主题更改为浅色背景时,向导对话框颜色与背景 Visual Studio 主题的颜色相矛盾。有没有一种简单的方法可以访问在 C# 中以编程方式在 Visual Studio 中设置的背景主题?基于该主题,我可以开发其他对话窗口并将其显示给用户吗?简而言之,我可以在伪代码中做如下所示的事情吗?

0 投票
1 回答
596 浏览

visual-studio - 如何让 NuGet 包还原对存储在面向 Visual Studio 2019 的 VSIX 中的本地部署包起作用?

我知道已经有关于这个主题的多个问题,但它们似乎都已经过时了。澄清一下,我使用的是“新”VSIX 清单格式,并尝试遵循此处的官方说明:https ://docs.microsoft.com/en-us/nuget/visual-studio-extensibility/visual-studio-templates

我有一个项目模板和几个与之配套的项目模板。它们都依赖于部署应与 VSIX 本地捆绑的 NuGet 包。我检查了生成的 VSIX 文件,所有文件似乎都在正确的位置:

  1. 项目模板具有声明要安装哪些包所需的 XML:
  1. repositoryID匹配文件中的ID属性.vsixmanifest

  2. Asset每个包裹都有一个单独的条目,格式如下:

  1. 我已经从 VSIX 安装packages.config的文件中删除了所有和所有包引用.csproj(甚至从 VSIX 项目本身中删除,只是为了更好地衡量)。

  2. 我检查了输出 VSIX,并且Packages在 VSIX 中确实有一个包含所有文件的.nupkg文件夹。此文件夹确实已解压缩并复制到 Visual StudioExtensions文件夹中。

尽管如此,当我使用模板创建一个新项目时,VS 会显示一条错误消息:无法从C:\users\<pathtoextensions>\Packages.

问题是,这些.nupkg文件实际上存在于错误消息所指的确切文件夹中。

我已经搜索了好几天了,但似乎找不到任何对实际有效的最佳实践的参考。这些 VSIX 清单似乎是针对传统packages.config的做事方式,并且有关于如何扩展它们以PackageReference替代使用的讨论。

任何人都可以就我们应该如何继续前进提供任何建议吗?包不再应该与 VSIX 一起部署吗?我们是否应该只用PackageReference条目填写项目并让用户手动解决它们?

我觉得我在这里遗漏了一些基本的东西,任何见解都将非常有价值。

更新:我还在 NuGet github 存储库上打开了一个问题,因为在恢复存储在 VSIX 安装程序中的包时,这显然是 PackageRestore 功能的问题。此问题中提到的所有其他内容都按预期和预期工作,但包还原除外。

0 投票
1 回答
41 浏览

visual-studio-2019 - 如何在 Visual Studio 扩展 DisplayName 中包含冒号

我想使用冒号 ( :) 作为我的扩展名的一部分DisplayName。我已经修改了我的 .vsixmanifest 文件:

但是,在构建时我收到一个错误:

文档没有说明任何字符限制,只是DisplayName必须少于 50 个字符。

我什至尝试过对冒号进行编码,但我得到了相同的错误消息(上图)。

有没有办法解决?

0 投票
1 回答
58 浏览

c# - 如何在 vsix 扩展的向导窗口中隐藏框架下拉菜单

我正在生成 .net 核心作为输出项目,但在 vsix 向导中它显示了误导用户的 .net 框架下拉列表。如何隐藏此下拉列表?我们是否需要在下面的 vsTemplate 中添加任何属性/设置?我的 VsTemplate 如下所示。

在此处输入图像描述

VS 模板 => 模板数据代码如下所示,

0 投票
1 回答
210 浏览

vsix - 在 vsix 安装中,什么会导致“值不能为空,Uristring”?

在 Visual Studio 的最新版本 16.6.2051 中,不再可以安装我的 Visual Studio 包。

我得到错误

该安装在以前版本的 Visual Studio 中运行(可能在最新版本中)。我确信 Visual Studio 中发生了一些变化。

但是,这并不意味着我的安装不包含错误。

这是日志文件的最后一部分(我认为这是最有趣的)

我已在给 Microsoft的错误报告中包含完整的日志

有谁知道错误可能指的是什么 uriString 以及我如何解决它?