2017-05-13 4 views
0

私の実際のセットアップは次のとおりです。DOTNET Nuget /非常に大きいと、各ユーザーのためのパッケージフォルダ

  1. のUbuntu 16.04 OSマルチユーザーと
  2. アパッチ。私はそれがユーザーのホーム(1ギガバイトのサイズ)に.nuget /パッケージフォルダを生成する新しいウェブサイトを作成する場合はApache

上のリバースプロキシと

  • DOTNETのウェブサイト(各ウェブサイトは、ユーザーが持っています)。

    システム全体でパッケージフォルダが1つしかないのはなぜですか?

  • 答えて

    1

    あなたはグローバルなパッケージフォルダの場所を指定NuGet.Configファイルを作成することができます。

    <?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
        <config> 
        <add key="globalPackagesFolder" value="/var/data/nuget/cache" /> 
        </config> 
    </configuration> 
    

    プロジェクトが自動的に復元上のディレクトリ階層にNuGet.Configファイルを検出します。

    NuGetキャッシュは、本番環境では必要ないものの、開発タスクでは必要ありません。ウェブサイトが公開されると(dotnet publish)、結果のパブリッシュフォルダには、ターゲットマシン上で実行できるようにするために必要なすべてのアセットが含まれます。別のユーザーとしてローカルで実行しても、リストア - ビルド - パブリッシュの手順を実行するユーザーだけがグローバルなナゲットキャッシュが必要です。

    +0

    プロダクションサーバーで1gbの.nugetパッケージフォルダは不要ですか?正しいパブリッシュ戦略は何か分かりません。 – Atomico

    +1

    番号。 'dotnet your.app.dll'を介して出力を実行するには、サーバ上の.netcoreランタイムだけが必要です。ビルドマシンでその出力を生成するには、 'dotnet publish -c Release'を呼び出して、' bin/Release/netcoreapp1.1/publish'の出力を使います。 –

    +1

    公開中に、プロジェクトがグローバルナゲットフォルダから必要とするすべてのアセットがパブリッシュ出力にコピーされます。 –

    関連する問題