いくつかのカスタム MVC プロジェクト タイプを追加する VSIX プロジェクトをビルドする方法について、この投稿をフォローしています。
http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates
いくつかの追加の Nuget パッケージも含めたいので、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>
ファイル構造
- 拡張プロジェクト
- パッケージ
- Nugetパッケージ1
- NugetPackage 2
- 等
- プロジェクトテンプレート
- カスタムMVCテンプレート
- <カスタム プロジェクト ファイル>
- カスタムMVCテンプレート
- source.extension.vsixmanifest
- パッケージ