1

nuget パッケージを作成してインストールしましたが、予期しないディレクトリ構造が作成されていることがわかりました。何を間違えたのか、または意図した結果を達成するために何ができるのかを知りたいです。 ドキュメントには次のように記載されています。

パッケージのインストール時に、フォルダー内のファイルがcontentアプリケーションのルートにコピーされます

しかし、それは起こったことではありません!

この質問を明確にするためnuget pack -BasePath stagingに、次のフォルダー構造を呼び出しました。

  • 演出/
    • コンテンツ/
      • マイプラグイン/
        • foo.txt

そこから、実行するnuget install MyPackage -o .\Targetと、次の結果が期待されました。

  • 目標/
    • マイプラグイン/
      • foo.txt

代わりに私が得たのはこれでした:

  • 目標/
    • MyPlugin.1.0.1.0/
      • MyPlugin.1.0.1.0.nupkg
      • コンテンツ/
        • マイプラグイン/
          • foo.txt

明らかに、結果は 2 つの重要な点で私の期待した結果とは異なっていました。

  1. インストールされた .nupkg は別の場所、つまりキャッシュの場所に保存されると思いました。
  2. ドキュメントから、これはパッキング中に使用される特別なフォルダーであることがわかりましたcontentが、インストール時には作成されません。

私は何を誤解しましたか?どうすればこれを修正できますか?

: 意図的に packages.config または SolutionDirectory を指定していません。これはnuget install、アプリケーションにプラグインを追加するために実行時に実行することを意図しているためです。おそらく、packages.config を使用することを確信できたかもしれませんが、それが現在得ている結果に特に影響を与えているとは思いません。

4

1 に答える 1

0

表示されているのは、nuget.exe コマンド ラインの意図した動作です。Balliauw の引用:

NuGet コマンド ラインには、対象とする可能性のあるソリューションまたはプロジェクトのコンテキストがないため、インストール操作は特定の場所でのパッケージの抽出に限定されます。
バリャウ、マールテン。デコスター、ザビエル (2012-03-07)。Pro NuGet (Professional Apress) (Kindle の場所 1114-1115)。アプレス。キンドル版。

于 2013-01-22T21:31:54.713 に答える