3

外部dllの依存関係(automap、その他...)を、ビルドサーバーでビルドできる状況にする必要があります。また、ビルドサーバーがそれらを取得できるように、それらをSubversionに入れたいと思います。

だから私は「lib」フォルダ全体に不慣れです。私はグーグルを検索しました、しかしそれは一種の仮定のようです、ここで何をすべきかの基本はありません。私が所有している本はそれには入りません。メンターが働いていたり、誰かに質問したりしてから久しぶりですが、ここでやるべきことの基本を理解したいと思っています。

私は.Netで書き込み、JenkinsをCIサーバー(新しい)およびmsbuild(新しい)として使用します。svn:externals(計算しないでください)、NuGet...を聞いています。

助けてください!

4

3 に答える 3

3

私のソリューションがMySolutionと呼ばれ、C:\ MySolutionに格納されているとすると、バイナリ用に3つのディレクトリがあり、すべてソース管理によって管理されています。

  • ベンダーはサードパーティのフレームワークのソースコードです。必要に応じて、(私のキーを使用して)ビルドおよび署名され、コードが自分のものであるかのように扱われます。これは、フレームワークの欠陥を「修正」したり、ソースをデバッグして失敗した理由を理解したりするために必要になる場合があります。
  • nugetによって管理されるsrc\packagesモジュール(これを「lib」フォルダーと組み合わせたいと思っていましたが、まだサポートされていません)
  • ソースがなく、nugetで管理されていないlibコンパイル済みライブラリ。

(OPに固有の回答を維持するために、「src」、「sample」、「setup」、「documentation」、「scripts」などのフォルダーを省略しました)。

ここ数か月、libフォルダーに「packages」用の独自のnugetパッケージを作成し始めたので、それらすべてを「packages」に移行できます。プライベートnugetサーバーに公開されます。また、ソリューション全体のバイナリの管理も簡素化されます。

私はexternを使用していましたが、外部依存関係を分岐して固定する必要があるため、しばらくすると分岐の悪夢になります。nugetを使用すると、これは不要になります。

于 2012-06-09T06:50:49.463 に答える
0

バイナリをソース管理に入れることは絶対に避けたいと思います。好みのバージョンのパッケージを含む独自のnugetリポジトリを作成し、nuget復元または他の方法で依存関係を構築するために「再水和」する方がはるかに良いでしょう。nuget-update.batという単純なバッチファイルを使用します。このファイルは、すべてのpackages.configファイルを調べて、見つかった依存関係を取得します。

于 2012-06-09T07:18:44.727 に答える
0

同じトピックについて一連の質問を投稿したようです。NuGetは重要になり、Microsoftによって一生懸命宣伝されるため、NuGetをお勧めします。ただし、多くの古いライブラリはそこで利用できず、libフォルダを保持する必要がある場合があります。私のオープンソースプロジェクト#SNMPは良い例です。

できるだけ多くのNuGetパッケージを使用しようとしましたが、DockPanelSuiteなどの依存関係の一部を維持するためにステップアップしました。

于 2012-06-09T11:21:16.467 に答える