3

Visual Studio ソリューションの構築に最適なアプローチ方法について、人々からフィードバックを得ることができるかどうか疑問に思っています。

私の主な要件は、コード/テストが正しいリソース、特にデータベース スキーマとサンプル データに対して実行されるようにすることです。

私はこれを行うためにさまざまな方法を試しましたが、成功の程度はさまざまです。現在、私は…</p>

  • データベースなどを作成、構成、設定するクラス ライブラリ *.Installation.dll を作成します。
  • csproj ファイルからパラメーターを取得して Installation.dll に渡す MSBuild タスクを含むクラス ライブラリ *.Build.dll を用意します。

これらは独自のソリューション内にあります。MyApp.Build.sln と言います。ファイルのロックの問題を防ぐために、これをメインのソリューションとは別に維持しています。

私の主なソリューションでは、たとえば MyApp.sln …</p>

次に、テスト プロジェクトは MSBuild タスクを呼び出して、データベースとサンプル テスト データを含む統合テスト用のテスト環境を作成します。そして、私の Web/Windows フロント エンド プロジェクトは MSBuild を呼び出して、テスト ユーザー/手動テスト用の実行可能な環境を作成します

そのため、MSBuild を使用して、テスト/実行用のカスタマイズ可能なビルド/環境を作成しています。さらに、Installation.dll を構成/セットアップ ツールにラップして、ユーザーがインストールするときにインストールを自動化することもできます。

これはあまりにも複雑なシナリオですか? 私はこれを過度に設計し、何かを見落としているのではないかと心配しています。これはうまく機能しますが、有形の課金対象の作業に直接関与しない多くのメタ プログラミング (データベース ビルド コード、構成、ビルド タスクなど) に拘束されます。

SubVersion と TeamCity があります。最終的に、デイリー/コミット ビルド トリガーで呼び出される CI ビルドを有効にしたいと考えています。または、データベースなどの再構築を避けるために TeamCity を使用できますか。すべてのビルド?

洞察をありがとう。

4

0 に答える 0