いくつかのプロジェクトテンプレートを含むVisualStudio2010用のVISX拡張機能を作成しようとしています。これらのテンプレートはそれほど複雑ではありませんが、ウィザードを使用して作成するときに、それらの追加の構成を公開したいと思います。VS2010で必要なディレクトリ構造にテンプレートを展開するようにVISXパッケージを正常に設定しましたが、ウィザードを構成して実行しようとすると、次の行に沿ってテンプレートを作成するとエラーが発生します。
エラー:このテンプレートはコンポーネントアセンブリを読み込もうとしました'My.Assembly、バージョン1.0.0.0、Culture = neutral、PublicKeyToken = .. ..
私の現在の構成は次のとおりです。
- すべてのプロジェクトは同じソリューションで実行されます。
- VISXプロジェクトには、ウィザードを含むプロジェクトおよび各テンプレートへのプロジェクト参照が含まれています。
- 各テンプレートは、プロジェクトテンプレートテンプレートから構築されます(...紛らわしい用語)。
- これらは、プロジェクトを参照して、.vsixmanifestデザイナーを介してコンテンツとして追加されます。
- 各.vstemplateファイルには、IWizard実装を指し、アセンブリを含むWizardExtension要素があります。
- ウィザードアセンブリが署名されています。
.vstemplateファイルは、次のようなウィザードを指します。
<WizardExtension>
<Assembly> My.Assembly、Version = 1.0.0.1、Culture = neutral、PublicKeyToken = a494da9e6e53f845、Custom = null </ Assembly>
<FullClassName> My.Assembly.Wizard </ FullClassName>
</ WizardExtension>
これは、私が知る限り、私がそれを行うことになっている方法です。正確には何が問題になっていますか?アセンブリが見つからないようです。アセンブリをテンプレートに表示するために必要な他の手順はありますか?アセンブリは、インストール時に拡張フォルダーに展開されるため(これを確認しました)、少なくとも作成中です。.vstemplateファイルに対して、拡張フォルダーとGACを比較するように指示するために特別なことをする必要がありますか?私はただ何かを逃しましたか?
インターネット上で、手動またはスクリプトを使用してアセンブリをGACする必要があると述べているページをいくつか見つけたことに注意してください。ただし、私の正確なシナリオはほとんどありませんでした(プロジェクトテンプレートテンプレートはVISXプロジェクトによって参照されています。ほとんどの例では、プロジェクトテンプレートウィザードを介してエクスポートされた通常のプロジェクトを使用し、パッケージをVISXフォルダー構造にダンプしています)。私のシナリオに一致することがわかったのは、Microsoftの例だけでした。私はそれに合わせようとしましたが、残念ながらそれでも機能しません。この質問で参照するためにダウンロードしたプロジェクトを再配置しようとしましたが、再度見つけることができません。
スクリプトの使用はこれまでのやり方ですが、VISXパッケージを使用して少しすっきりさせたいと思います。これは避けたいのですが、テンプレートをGACにインストールするためにVISXのスクリプトを作成する必要がある場合は、それを行うことができます。