私はいくつかのカスタムMVCプロジェクトの種類を追加しますVSIXプロジェクトをビルドする方法についてのこの記事を、次のされています:VSIXプロジェクトテンプレートとNuGetでパッケージ
http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates
私はまた、いくつかの追加Nugetパッケージを含めますだから私はthis page from Nugetに従っていたが、それはVS2010のためにあるようだが、私は2012年に働いている。
私はプロジェクトビルディングを持っていて、私のマシン上ではすべてがピーチです。インストールが動作し、新しいプロジェクトタイプが表示されます。このタイプの新しいプロジェクトを作成すると、すべてが完全に機能します。
しかし、私は同僚に同インストーラを送信すると、物事が壊れます。インストーラは動作し、新しいプロジェクトタイプが表示されますが、プロジェクトを作成するときに、拡張ノードにパッケージをインストールできないというエラーメッセージが表示されます。拡張機能の製品IDが正しいことを確認しました(テスト中に.vstemplateファイルに意図的に不正な形式であり、まったく異なるエラーが発生しました)。私は、拡張マニフェストにパッケージを追加しましたが、違いはありません。また、.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>
<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
- など
- ProjectTemplates
- CustomMVCTemplate
- <カスタムプロジェクトファイル>
- CustomMVCTemplate
- source.extension.vsixmanifest
- パッケージ
優秀な発見を。私はあなたの答えにも直接キー段落を追加しました。 – Olly