visual-studio-2012 - 带有项目模板和 NuGet 包的 VSIX

标签 visual-studio-2012 nuget vsix

我一直在关注这篇关于如何构建将添加一些自定义 MVC 项目类型的 VSIX 项目的帖子:

http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates

我还想包含一些额外的 Nuget 包,所以我关注了 this page from Nuget ,但它似乎适用于 VS2010,我在 2012 年工作。

我有项目 build ,在我的机器上一切正常。安装有效,新项目类型出现,当我创建这种类型的新项目时,一切正常。

但是,当我将安装程序发送给同事时,事情就坏了。安装程序工作,他们看到新的项目类型,但在创建项目时,他收到关于无法在扩展节点中安装任何包的错误消息。我已经确认扩展的产品 ID 是正确的(我在测试过程中故意在 .vstemplate 文件中对其进行了格式错误,并给出了完全不同的错误)。我已将这些包添加到扩展 list 中,但似乎没什么区别。我还确认 .nupkg 文件已部署到 %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE\Extensions。

关于该怎么做的任何建议?

自定义项目的 .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="registry" keyName="AspNetMvc4VS11" isPreunzipped="true">
        <package id="EntityFramework" version="5.0.0" skipAssemblyReferences="true" />
        <package id="jQuery" version="1.8.2" />
        <!-- snip -->
    </packages>
    <packages repository="extension" repositoryId="SampleExtensionId">
      <package id="Unity" version="3.0.1304.0" targetFramework="net45" />
      <package id="Unity.WebAPI" version="0.10" targetFramework="net45" />
      <!-- snip -->
    </packages>
</WizardData>

source.extension.vsixmanifest Assets 标签

<Assets>
    <Asset d:VsixSubPath="ProjectTemplates\CustomMVCTemplate" etc/>
    <Asset Type="Unity.3.0.1304.0" Path="Packages\Unity.3.0.1304.0.nupkg" />
    <Asset Type="Unity.WebAPI.0.10" Path="Packages\Unity.WebAPI.0.10.nupkg" />
    <!-- snip -->
</Assets>

文件结构
  • 扩建工程
  • 套餐
  • NugetPackage 1
  • NugetPackage 2
  • 项目模板
  • 自定义MVC模板
  • <自定义项目文件>
  • source.extension.vsixmanifest
  • 最佳答案

    我制作了有关如何制作自动下载 nuget 包的 VSIX 的分步视频。

    http://www.youtube.com/watch?v=_ZvsFz41H-E

    由于步骤很多,我没有写下来,这里就不打了。我肯定已经在其他人的机器上测试过我的 VSIX 包并且它有效,所以希望这对你有用。

    关于visual-studio-2012 - 带有项目模板和 NuGet 包的 VSIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620569/

    相关文章:

    git - 在 Visual Studio 中使用 Git,如何导航存储库文件?

    c# - 如何获取 Visual Studio 2017 的当前主题

    visual-studio-extensions - Visual Studio 扩展中的 app.config?

    visual-studio-2012 - 关闭解决方案时 Visual Studio 2012 挂起

    c++ - 如何将 gdal api 集成到 visual studio 2012 C++

    msbuild - 为解决方案中的单个项目禁用 NuGet BuildPackage

    visual-studio-2013 - 找不到 localdb nuget 包

    azure - Microsoft.WindowsAzure.Diagnostics 在哪里?

    visual-studio-2015 - 使用 DialogPage 将数组存储在选项中

    c++ - 用 C++ 创建一个独立的程序