问题标签 [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.
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
c# - 如何创建 mvc 项目模板并在 VSIX 项目中使用它。项目中不存在目标“TemplateProjectOutputGroup”
我按照以下步骤,
- 在 Visual Studio 中使用预定义模板创建了一个基本的 MVC 应用程序(比如 MVCTemplate)
- 使用 Visual Studio 中的导出模板向导为上述项目创建了 MVCTemplate.vsTemplate
- 将新创建的 MVCTemplate.vsTemplate 和 MVCTemplate.csproj 的副本(重命名为RequiredMVCTemplate.csproj)添加到上述项目中
- 在同一解决方案中创建了一个新的 VSIX 项目 (MVCWizard)
- 在 MVCWizard 项目中通过添加新资产 MVCTemplate 更新了 source.extension.vsixmanifest 文件(源 = 项目,类型 = Microsoft.visualstudio.Projecttemplate”和路径)
代码如下
我收到以下错误
项目中不存在目标“TemplateProjectOutputGroup”。请建议最好的方法来创建一个 mvc 项目模板并在基于向导的 vsix 项目中使用它并生成另一个这样的 mvc 应用程序。
c# - 从自定义项目模板加载项目时如何打开自定义项目概览页面
在 Visual Studio 中加载自定义项目模板时添加自定义页面并打开它的位置。例如下面是在 Visual Studio 中打开 MVC 项目模板时的项目主页,同样我需要为我的项目模板打开这样一个自定义页面。
我知道下面的 MVC 项目主页标记、样式、资源和清单文件位于“C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Extensions\Microsoft\Web Tools\Project \概述”。微软预定义的模板如何加载这样的主页?起点是什么?他们是否使用任何工具或库来做到这一点?
visual-studio - 有没有办法在 vsTemplates 中添加条件?或根据用户选择生成输出项目的方法
我需要生成自定义项目模板。我正在向用户展示向导(使用 vsix 项目),该向导具有三个复选框,用户可以在其中选择一个或多个复选框,根据需要创建的项目数量的选择。
假设用户选择一个,那么输出解决方案必须有一个项目。假设用户选择任意两个,那么输出解决方案必须有这两个项目。
目前,无论选择如何,都会创建三个输出项目。根 vsTemplate 文件如下所示,有没有办法满足我的要求?
我尝试了两种方法 1)在运行时相应地更改根 vsTemplate 文件,但始终根据 bin 目录中 zip 文件夹中的 vsTemplate 文件创建输出项目。2)使用开发工具环境自动化对象,在IWizard接口的ProjectItemFinished方法中以编程方式添加或删除项目,例如:Dte.Solution.AddFromTemplate(vsTemplatePath, NewProjectName) 上面一行创建了一个新项目但缺少文件夹结构,很难调整它。
有什么简单的方法可以做到这一点吗?
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 启用
c# - 如何根据所选的 Visual Studio 主题创建自定义 VSIX 向导
我需要创建一个自定义 vsix(Visual Studio 扩展项目)向导,它是一个单一的 Windows 窗体,我开发它时考虑了在 Visual Studio 中选择的深色主题。因此,向导步骤中的窗口背景以深色背景显示。当用户将 Visual Studio 主题更改为浅色背景时,向导对话框颜色与背景 Visual Studio 主题的颜色相矛盾。有没有一种简单的方法可以访问在 C# 中以编程方式在 Visual Studio 中设置的背景主题?基于该主题,我可以开发其他对话窗口并将其显示给用户吗?简而言之,我可以在伪代码中做如下所示的事情吗?
visual-studio - 如何让 NuGet 包还原对存储在面向 Visual Studio 2019 的 VSIX 中的本地部署包起作用?
我知道已经有关于这个主题的多个问题,但它们似乎都已经过时了。澄清一下,我使用的是“新”VSIX 清单格式,并尝试遵循此处的官方说明:https ://docs.microsoft.com/en-us/nuget/visual-studio-extensibility/visual-studio-templates
我有一个项目模板和几个与之配套的项目模板。它们都依赖于部署应与 VSIX 本地捆绑的 NuGet 包。我检查了生成的 VSIX 文件,所有文件似乎都在正确的位置:
- 项目模板具有声明要安装哪些包所需的 XML:
repositoryID
匹配文件中的ID
属性.vsixmanifest
。Asset
每个包裹都有一个单独的条目,格式如下:
我已经从 VSIX 安装
packages.config
的文件中删除了所有和所有包引用.csproj
(甚至从 VSIX 项目本身中删除,只是为了更好地衡量)。我检查了输出 VSIX,并且
Packages
在 VSIX 中确实有一个包含所有文件的.nupkg
文件夹。此文件夹确实已解压缩并复制到 Visual StudioExtensions
文件夹中。
尽管如此,当我使用模板创建一个新项目时,VS 会显示一条错误消息:无法从C:\users\<pathtoextensions>\Packages
.
问题是,这些.nupkg
文件实际上存在于错误消息所指的确切文件夹中。
我已经搜索了好几天了,但似乎找不到任何对实际有效的最佳实践的参考。这些 VSIX 清单似乎是针对传统packages.config
的做事方式,并且有关于如何扩展它们以PackageReference
替代使用的讨论。
任何人都可以就我们应该如何继续前进提供任何建议吗?包不再应该与 VSIX 一起部署吗?我们是否应该只用PackageReference
条目填写项目并让用户手动解决它们?
我觉得我在这里遗漏了一些基本的东西,任何见解都将非常有价值。
更新:我还在 NuGet github 存储库上打开了一个问题,因为在恢复存储在 VSIX 安装程序中的包时,这显然是 PackageRestore 功能的问题。此问题中提到的所有其他内容都按预期和预期工作,但包还原除外。
visual-studio-2019 - 如何在 Visual Studio 扩展 DisplayName 中包含冒号
我想使用冒号 ( :
) 作为我的扩展名的一部分DisplayName
。我已经修改了我的 .vsixmanifest 文件:
但是,在构建时我收到一个错误:
文档没有说明任何字符限制,只是DisplayName
必须少于 50 个字符。
我什至尝试过对冒号进行编码,但我得到了相同的错误消息(上图)。
有没有办法解决?
vsix - 在 vsix 安装中,什么会导致“值不能为空,Uristring”?
在 Visual Studio 的最新版本 16.6.2051 中,不再可以安装我的 Visual Studio 包。
我得到错误
该安装在以前版本的 Visual Studio 中运行(可能在最新版本中)。我确信 Visual Studio 中发生了一些变化。
但是,这并不意味着我的安装不包含错误。
这是日志文件的最后一部分(我认为这是最有趣的)
我已在给 Microsoft的错误报告中包含完整的日志
有谁知道错误可能指的是什么 uriString 以及我如何解决它?