6

私たちは小さなチームで、asp.net Web プロジェクトとサービスに取り組んでおり、どちらのプロジェクトも共有クラス ライブラリに依存しています。

クラス ライブラリの設定を開発者ごとに (そして後で本番用に) 変更したいと考えています。設定には、パスワードやホスト名などの機密情報が含まれています。

これらの設定をどのように割り当てる必要がありますか?

私が間違っていない限り、web.config/application 設定は共有クラス ライブラリでは機能しないため、十分ではありません。

ps: また、一部の変数は静的にリンクする必要があり、残り (接続文字列など) は動的にする必要があります。

4

1 に答える 1

2

web.config app.config ファイルは、実行中の Web サイト/アプリから読み取られます。IE、クラス ライブラリ内のアプリ設定ファイルは使用されません。たとえば、クラス ライブラリ内の ConfigurationManager.ConnectionStrings ConfigurationManager.AppSettings への参照は、クラス ライブラリを使用しているアプリで定義されている web.config/app.config を使用し、クラス ライブラリ自体内で設定した .config は使用しません。 .

開発者ごとおよび本番用にさまざまな設定を管理する最も簡単な方法は、構成を別のファイルに保存することです。

<appSettings configSource="Web.appSettings.dev.config"/>

各開発者には、ソース管理されていない独自の Web.appSettings.dev.config があります。本番環境では、次のように変更します。

<appSettings configSource="Web.appSettings.live.config"/>

svn にある種のテンプレート Web.appSettings.template.config があることを確認する必要があります。これはマスターですが、設定はありません。手動で管理して、テンプレートに追加された新しいキーまたは接続文字列を確認します。各 devs ファイルと production ファイルにも追加されます。

于 2010-06-04T09:45:02.707 に答える