1

したがって、4 つのプロジェクト、実際のアプリケーション (クラス ライブラリとして) である「コア」プロジェクト、および基本的に Facade クラスをラップする「コンソール」、「WinForm」、および「サービス」の 3 つのラッパー プロジェクトを含むソリューションがあります。コア クラスであり、さまざまなアプリケーション (コンソール/トレース/ファイル) ごとに異なるログ戦略を処理し、顧客がアプリケーションを展開する方法に応じて、コンソール、WinForms、またはサービスとしてアプリケーションを起動するためのさまざまな設定が含まれています。

Core プロジェクトには、Nancy Web フレームワークの単純なテンプレート ビューを含む 3 つのリソース ファイルがあります。ただし、ナンシーがこれらのビューを探す方法は現在のパスにあります。Core プロジェクトのファイルは他の 3 つのプロジェクトの現在のパスにないため、プロジェクト間でこれらのファイルにアクセスする簡単な方法が必要です。

プロジェクト間の依存関係を処理するために、「ソリューション」の概念が登場したのはこれだと少し単純に思いました。しかし、インターネットを検索すると、驚いたことに、これを行うエレガントな方法がないように見えます。私が見つけることができた唯一の2つのソリューションは、ファイルをソリューション内のスクラッチ/一時またはディレクトリにコピーし、後でビルド後のアクションとしてそれぞれの必要なディレクトリにコピーすることと、「追加として追加」を使用してアイテムを手動で追加することです。リンク"。現在、これらのソリューションは両方とも技術的には機能しますが、最初のリーフ (おそらく時代遅れ) は、実際には属していない場所 (IMHO) について横たわるアーティファクトを構築し、2 番目のリーフは退屈で時間がかかり、人為的エラーが発生しやすいためです (ディレクトリにリンクすることはできません)。

これらは本当に私の唯一の2つのオプションですか、それとも私がVisual Studioを初めて使用したために見逃した3番目の完全に明白な方法はありますか?

4

2 に答える 2

2

ナンシー固有のものだけが必要な場合は、ナンシーでカスタム IRootPathProvider を使用できます。

もう1つのオプションは、フォルダーをリンクすることです-これを行うことはできますが、csprojファイルを手動でハッキングする必要があります.これについては、これを含むいくつかの質問があります:

Visual Studio リンク ファイルのディレクトリ構造

于 2013-01-29T10:14:28.657 に答える
0

Nugetはパッケージ管理システムで、プロジェクト間でアーティファクトを依存関係として共有するために使用しています。nuget.org から入手できるライブラリを含めるか、独自の nuget パッケージを定義することができます。

Teamcityは、すべてのビルドで nuget パッケージを生成するための適切なサポートを受けており、Nuget サーバーとして機能できます。

これは、 nugetパッケージにファイルを含めるためのリファレンスです。

于 2013-01-29T10:06:49.923 に答える