.net ソリューションの破壊のベスト プラクティス?
-
08-06-2019 - |
質問
ドットネット プロジェクトの設定方法の例はたくさんありますが、私たちの状況に当てはまるものはないようです。
複数のアプリケーションと複数の依存関係を備えた 1 つのソリューションがあります。私たちは現在 SourceSafe を使用しており、Subversion に移行する予定ですが、ソースを正しい方法で整理するのが難しいと感じています。
解決策の例
- アプリ1
- アプリ2
- ビズオブジェクト
- データアクセス
- カスタムコントロール
依存関係
- BizObjects->データアクセス
- App1->カスタムコントロール
- App1->BizObjects
- App1->データアクセス
- App2->カスタムコントロール
- App2->BizObjects
また、オペレーターが作業しているワークロードに応じて (データベースからのコピーを介して) デプロイする構成管理システムもあります。アプリケーションにバージョンを「リリース」としてマークし、そのリリースに複数のファイルの依存関係を追加します。現在導入されているソリューションは、古い (Windows 3.1 で開発された) ソリューションが .NET ファイル/依存関係構造で動作するように応急処置する試みであることに留意してください。
App1 の場合、App1.exe、BizObjects.dll、DataAccess.dll、および CustomControls.dll があります。BizObjects が DataAccess を参照しているため、App2 にも同じ依存関係のセットがありますが、これは手動で定義されています。依存関係ツリーを識別するシステムがありません。
「リリース」の各依存関係は、ファイルとバージョン ID です。また、同じアプリケーションに、異なるワークロードに応じて各ファイルの異なるバージョンが含まれる可能性があります。
- いったいどこで私たちは間違ってしまったのでしょうか?私たちは間違っていましたか?
- デプロイメント要件に対応するために svn ソース ツリーを構造化するにはどうすればよいでしょうか?
- または
- 私たちの設定にとって意味のある展開戦略をより適切にサポートするには、コードをどのように再構築すればよいでしょうか?
私たちは、比較的単純な問題 (ように見える) に対して、古くて過剰に設計された解決策を持っています。誰か私や私たちを正しい方向に導いてくれる人はいますか?
編集:私は読む これ 質問して、コードが通過する必要がある同じ開発/テスト/本番領域もあることを思い出しました。
解決
関連する可能性のある質問を次に示します。 リンクテキスト.
他のヒント
ソースコード管理システムを使用して構成管理を実行しようとしているようですね。
Subversion は、実際には実行可能ファイル (バイナリ) や実行時の依存関係ではなく、ソース コード (ASCII ファイル) とビルドの依存関係を対象としているため、正しい選択とは言えません。
私の推測では、本当にインストーラーが必要なのではないでしょうか。http://en.wikipedia.org/wiki/List_of_installation_software
あるいは、ネットワーク ドライブから正しい構成を起動するための単なるスクリプトかもしれません。