WindowsサービスとASP.NET MVC Webサイトの共通の設定を参照しようとしています。私はApp.configまたはWeb.configのいずれかのappSettingsのfile属性を使用してこれを実行しています。参照されているファイル(common.configという名前)は、同じソリューション内の別のプロジェクトにリンクされたファイルです。 common.configはに設定されていますと常ににの両方ともプロジェクトに設定されています。AppまたはWeb ConfigのAppSettingsとリンクファイルの使用
This stack answer to a similiar questionは、少なくともconfigSourceの場合はこの解決策が有効であると思われます。私はconfigSourceは必要ありませんが、私は2つのプロジェクトの間で共通しているプロパティのほんの一握りを望みます。 更新:私はこれを試しましたが、configSourceも機能しません。設定ファイルが見つかりません。これはcommon.configが常にコピーを持つコンテンツとして扱われないと私に信じさせてくれます。
例のApp.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="common.config">
<add key="NotCommonKey" value="1"/>
</appSettings>
</configuration>
例のWeb.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings file="common.config">
<add key="NotCommonKey2" value="2" />
</appSettings>
</configuration>
例common.config(コンテンツ - >常にコピー)
<appSettings>
<add key="CommonKey" value="1" />
</appSettings>
私はConfigurationManager/WebConfigurationManagerAppSettingsプロパティからの読み取りを使用しています。
common.configがリンクされたファイルの場合、AppSettingsの値は使用されず、リンクされていない場合は正常に動作します。
ありがとうございます!
1. common.configが他の設定ファイルと同じフォルダにあることを確認してください。 2. common.configの変更は、再起動するまでアプリに反映されません。 –
1.私は実際にそれが問題だと思います。私は、ファイルをコピーするように設定されていても、リンクされたcommon.configをWebアプリケーション/コンソールアプリケーションフォルダにコピーしていないというデバッグを実行する何らかの理由があると思います。 – scottheckel
私は、別のプロジェクトに存在するリンクされた設定ファイルを使用するコンソールアプリケーションを作成すると動作することに気付きました。 web.configファイルに固有のものでなければなりません。私はこの問題をCodePlexで作成しましたhttps://aspnet.codeplex.com/workitem/10351 – scottheckel