2

プロジェクト テンプレートを作成しています。NuGet経由でユニティとプリズムを自動インストールしたいと思います。

私はここでそれを行う方法を読みました。そのページが示すように、vstemplate ファイルをセットアップします。

 <WizardExtension>
    <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
    <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
  </WizardExtension>
  <WizardData>
    <packages>
        <package id="CommonServiceLocator" version="1.0" />
        <package id="Prism" version="4.1.0.0" />
        <package id="Prism.UnityExtensions" version="4.1.0.0" />
        <package id="Unity" version="2.1.505.0" />
    </packages>
  </WizardData>

正しくセットアップされているように見えますが、機能しません。テンプレートを使用しようとすると、次のエラー メッセージが表示されます。

必要なすべてのパッケージをプロジェクトに追加できませんでした。次のパッケージは、'C:\Users\MyUser\AppData\Roaming\Microsoft\VisualStudio\10.0\ProjectTemplatesCache\MyTemplate.zip' からのインストールに失敗しました

いくつか調べてみたところ、ウィザードを機能させるには、GAC にインストールする必要があります。このコマンドを実行しました:

gacutil.exe /l NuGet.VisualStudio.Interop

そして、次のように返されました。

グローバル アセンブリ キャッシュには、次のアセンブリが含まれています。

アイテム数 = 0

したがって、GACにはないようです。問題は、これが他のすべての人にとってどのように機能するかです。それがGACにある必要があるのなら、なぜ自動的にそこにないのですか?

そうでない場合、なぜ機能しないのですか(ただし、GACにある必要があると確信しています)。

注:ここでそのdllを見つけました:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.6.21215.9133

4

2 に答える 2

1

ドキュメントのこの重要な部分を見逃していることがわかりました。

テンプレートは、パッケージの nupkg ファイルを見つける場所を指定する必要があります。現在、2 つのパッケージ リポジトリがサポートされています。

VSIX パッケージ内に埋め込まれたパッケージ。
プロジェクト/アイテム テンプレート自体の内部に埋め込まれたパッケージ。

そのため、実際の NuGet リポジトリからパッケージを取得する方法はありません。

于 2012-03-18T21:17:16.167 に答える
-1

この質問に対する答え:

Visual Studio > [ツール] > [拡張機能と更新プログラム] を開き、[オンライン リンク] を選択し、右側の検索バーに「NuGet パッケージ マネージャー」と入力します。次に、ダウンロードしてインストールします。あなたの問題を解決します

于 2014-10-26T17:14:37.253 に答える