NuGet Web サイトには、独自の NuGet フィードをホストするための優れた記事があります。私たちの場合、私たちは開発スタッフがパッケージを利用できるようにする前にパッケージを完全に精査する必要がある IT ショップであるため、「承認済みパッケージ」を提供する独自のフィードをホストしたいと考えています。この記事で省略されていることの 1 つは、ホスティング用のナゲット パッケージをプルダウンする方法です。たとえば、EntityFramework 5.0.0 をホストして開発者が使用できるようにしたい場合、NuGet を使用せずにパッケージを取得するにはどうすればよいでしょうか?ポリシーにより、NuGet がファイアウォールを通過してホストにアクセスするのを防ぐことができます。
3 に答える
nuget.orgから完全に切り離されていないと仮定すると、ProGet を使用してネットワークのフィードをホストできます。ProGet では、複数のフィードを作成することも、他の NuGet フィードに接続することもできるため、「NuGet Cached」などの 1 つのフィードを作成し、次に「Developer」フィードを作成して、両方のフィードに同じパッケージ ストレージの場所を指定できます。秘訣は、"NuGet Cached" フィードで nuget.org へのコネクタをセットアップし、プル パッケージ機能を使用して、ホストされている NuGet パッケージをローカル フィードにダウンロードすることです。
このようにして、開発者は Visual Studio (またはパッケージを取得するために使用するツール) をセットアップして、明示的にプルダウンしたパッケージのみを含む "開発者" フィードをポイントします (両方のフィードがパッケージを同じ場所に保存するため)。「NuGet Cached」フィードに拒否権限を追加して、まったく接続できないようにすることもできます。
- ホストサーバーを作成します(お持ちのように聞こえますが、そうでない場合は、NuGet.Serviceをインストールしてホストしています)。
- ホストにアクセスして、機能していることを確認します(Nugetサービス番号などを示す非常に単純なダッシュボードが表示されます)
- VisualStudioオプションを開き、[パッケージマネージャー]->[パッケージソース]を選択します
- ここに内部ホストを追加します(おそらく次のようなもの
http://internalsvr/nuget
)
そうすれば、そのソースからローカルにパッケージをインストールできるはずです。また、そこに物事をプッシュしたり、パッケージを~/packages/
ディレクトリに配置したりすると、サービスに自動的にリストされます。
おそらくhttp://www.myget.orgを試すか、他のソフトウェアを使用することができます。