2009-04-22 16 views
10

Visual Studio 2008でプロジェクトテンプレートを作成しようとしていますが、成功しています。Visual StudioプロジェクトテンプレートにカスタムDLLをインクルードする

いくつかのカスタムアセンブリをプロジェクトテンプレートに含めることができるので、新しいプロジェクトをインスタンス化したらこれらのアセンブリへの参照を追加する必要はありませんか?これが可能であれば、どうやってこれをやりますか?

+3

明確にするために、プロジェクトによって参照されるように、プロジェクトテンプレートzipファイルASWELLに依存関係DLLをOPに埋め込むように見えます。私は現時点でこれを自分自身で苦労しています - Visual Studioはzipファイル内のファイルを無視します。これはcsprojファイルの項目ではありません。したがって、の項目はカットされません!アー! – Adam

+0

... DLLをプロジェクトにリンクすることは、ユーザーがプロジェクトの新しいインスタンスを作成するときにVSによって抽出されるように強制する1つの方法です。それはちょっと醜い。 – Adam

答えて

0

はいテンプレート内のプロジェクトファイルをzipファイルに更新します。または、テンプレートに書き出しを使用して、すでに参照が含まれているバージョンと比較します。 link textがこれをより簡単にします。

2

私はこれを自分で行う必要がありました。今日は、DLLなどのすべての「コンテンツ」を含むナゲットパッケージを作成するのが最善の方法です。次に、あなたのvstemplateのWizardExtensionセクションにnugetパッケージウィザードを追加して、(オンラインリポジトリへのリファレンス、または実際の埋め込み.nupkgファイルとして)ナゲットパッケージを追加してください。

あなたのナゲットパッケージはパッケージ化されますあなたの最終的なVSIXファイルで、Visual Studioのデプロイメントにすべてを取り込むのは簡単なダブルクリックです。 開発者がテンプレートに基づいて新しいプロジェクトを作成したとき、プロジェクト構造が作成された後にVisual StudioにNugetの依存関係が表示され、自動的に新しいテンプレートにナゲットパッケージがインストールされ、プロジェクトへの適切な参照。ここで

は、これを実現する方法の完全肉付け説明のカップルです - マルチンの例は、(あなたが彼のコメントにリンクを見つけることができます)ダウンロードZIPの例があります。

Kedar R Kulkarni

Marcin Doboz

+0

だから、この(継ぎ目がない)最高のソリューションをプロダクションで使いたいなら、他にもさまざまなメリットがある内部ナゲットフィード/ギャラリーを持っているはずです。 – mbx

+1

mbxのコメントを明確にするために、パッケージをリポジトリに公開することをお勧めします。ただし、nupkgファイル(実際の圧縮されたパッケージ)をプロジェクトテンプレートに含めることができるため、必須ではありません。 。 Marcinの記事、特に「テンプレートパッケージリポジトリ」の節を参照してください – Adam

+0

補完元: https://docs.microsoft.com/en-us/nuget/visual-studio-extensibility/visual-studio-templates – Ali

0

DLLをプロジェクトフォルダのどこかにコピーし、ソリューションにDLLを追加して(既存の項目を追加し、手動で* .dllにフィルタを設定)、そのコピーへの参照をプロジェクト設定に追加します。まず、エクスポートしたプロジェクトテンプレートに保存する必要があります。

関連する問題