Nuget 和 vsix 存储库

本文关键字:存储 vsix Nuget | 更新日期: 2023-09-27 18:30:44

我在VS2015中使用导出工具导出了一个模板项目。我创建了一个该项目所依赖的 nuget 包。在 vstemplate 文件中,我添加了:

  <WizardExtension>
    <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
    <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
  </WizardExtension>
  <WizardData>
    <packages repository="extension" repositoryId="ViSoftVSIXPackage.Visoft.87c53ff4-9d1f-xxxxxxxxxxxxxx">
      <package id="ViSoftCore" version="1.0.0" />
    </packages>
  </WizardData>

存储库 ID 是 VSIX 项目的 ID。在 VSIX 项目中,我添加了资产:

  <Assets>
    <Asset Type="ViSoftCore.1.0.0.nupkg" d:Source="File" Path="Packages'ViSoftCore.1.0.0.nupkg" d:VsixSubPath="Packages" />
    <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="File" Path="ProjectTemplates" d:TargetPath="ProjectTemplates'HMIViSoft.zip" />
  </Assets>

现在,当我安装 vsix 时,创建一个新项目,我得到以下内容:项目 HMI 的 NuGet 包还原失败。ViSoft4:找不到软件包"ViSoftCore"的"1.0.0"版本。当我转到Nuget包管理器时,它说包已安装,但找不到源代码。

我已经通过多种方式尝试过,但我无法让它自动工作。如果我在 nuget 包管理器中手动创建一个包源到 c:''packagelocation,一切都很好。

我在这里错过了什么?这不受支持吗?我是否在 vsix 中编写代码以在 nuget 包管理器中创建包源?

Nuget 和 vsix 存储库

我遇到了同样的问题 - 本答案中突出显示的步骤 11 有助于解决问题。基本上,此步骤可确保在<template install path>/Packages/下创建nupkg文件的副本