2016-06-16 10 views
1

私はSvnの外部機能からnugetに移行しています。これは大きなプロジェクトであり、これまでのところ悪い判断のようです。私のソリューションの1つには70のプロジェクトが含まれていますが、それらのほとんどに同じ共通リファレンス(ナゲットパッケージ)が含まれています。 以前の構造は、すべての参照がsvn externalsによって制御されていたので、私はちょうど亀のsvnの番号を更新し、更新 - クイックジョブをクリックしたときにいつでも、ソリューションごとの共通のLibフォルダでした。 現在、Visual Studioの中からパッケージからパッケージの以前のバージョンを削除し、新しいディレクトリを追加して、packages.configのバージョンを更新し、csprojのパスを更新すると思われるため、10-20時間もかかります。 70個のプロジェクトで7つのパッケージを更新して、ビジュアルスタジオを開いていると、時間がかかります。代わりに解決策を終了し、command-lineでナゲットの更新を呼び出すことですが、それはむしろ回避策です。以前のパスは同じでしたが、packages.configのコンセプトは存在しませんでした。唯一の変更は、次の結論に至るテキストファイルのコードの数行でした。私がアップデートを行うたびに、ソースコントロールにチェックインする必要がある膨大な変更があり、それはちょっと面倒です。私はnuget install -ExcludeVersionのフラグがありますので、バージョンをパスから除外して、csprojは変更されず、大きな利点があることがわかりました。それを使用するのがよい慣習ですか?パッケージをインストールするたびに自動的に使用するVisual Studioのサポートはありますか?ナゲットパッケージに「パスのバージョンを無視する」とマークする方法はありますか?私が知っている限り、これらの質問の答えは「いいえ、いいえ、いいえ」です。より大きなプロジェクトではどのようにナゲットを使うのですか?大きなプロジェクトでどうやってそれを扱うかについて、ナゲットについて読むことができるものがあれば教えてください。Svn外部からNugetへの移行 - 関心事

答えて

2

それぞれの問題を1つずつ説明しましょう。あなたの最初の質問は:

それを使用するのがいいですか?
これは意見の対象です。インストール時に ExcludeVersionオプションを使用するプロジェクトが中断された場合は、それを使用することはできません。それ以外の場合は、プッシュで70ファイルを保存します。 2番目の質問:
パッケージをインストールするたびに自動的に使用するVisual Studioのサポートはありますか?
私が知る限り(そして私が間違っているかもしれない)、これを行う方法はありません。しかし、これはすばやい研究から外れており、詳細は Nuget Config File Defaultsの中にあります(このような構成は見つかりませんでした)。

あなたは何を意味するのか少し混乱しています

「パスのバージョンを無視する」としてナゲットパッケージをマークする方法はありますか?
しかし、それはあなたが何を意味するように思われる 大佐パニックこの質問で尋ねられた: Nuget Packages exclude version in folder naming、その答えはノーです。最後に、簡単に質問します。
大きなプロジェクトではどうやってナゲットを使うのですか?
残念ながら、この質問に対する答えは非常に簡単です。あなたは(少なくとも効果的ではない)できません。 Nuget自身が blog postから1014年10月10日にこれを言っています。「有害な影響」セクションの下を読むと、実行中の問題の多くを見ることができます。

申し訳ありません、今すぐソリューションに。過去にNugetと同様の問題に遭遇しましたが、解決策は非常に簡単でした。時間を最小限に抑えるためにしなければならなかったのは、Visual Studioの.gitignoreを使ってコマンドラインからGitを使うことだけでした(Svnでもうまくいくと思います)。私たちは皆、これらの事例で働くためにナゲットに感謝するでしょう。しかし、そうではありません。すでにsvnを使用しているので、私は変更しないことを提案します。結局のところ、Nugetは実際にはソリューションベースで作業しているVisual Studiosの内部のマクロに過ぎません。

+0

1。私はちょうど、ExcludeVersionが期待通りに動作しないことを知りました。 packages.configにパッケージを含めずにプロジェクトディレクトリにパッケージを追加します。 2.重要ではありません。 3.ビルドサーバーがパッケージをビルドしてパッケージ化するときに、パッケージをインストールするのではなく、バージョンを除外したかったのです。それは動作しないので重要ではありません。 4.私たちはsvnからgitに移行しようとしています。そのため、適切なパッケージ管理を使用したいのですが、これはナゲットです。私はナゲットを使用することは何年もの間存在していないとは信じられません...とにかく試してみて、何が起こるか見てみましょう。ありがとうございます。 – MistyK

+0

私はWPFアプリケーションでproject.jsonを利用できることを知りました。それはお勧めですか? – MistyK

関連する問題