ASP.NET MVC 3 Web アプリケーションでは、web.config
ファイルからの設定が完全に無視され、既定値が適用されるという問題があります。ファイルの関連部分は次のとおりです。
...
<configuration>
<configSections>
<section name="MyProject.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=..." requirePermission="false" />
...
<applicationSettings>
<MyProject.Properties.Settings>
<setting name="MySetting" serializeAs="String">
<value>MyValue</setting>
</setting>
...
プロジェクト名が正しいことを確認し、Web サーバー ユーザーがファイルにアクセスできることも確認しました (ProcessMonitor
アクセスの監視に使用)。
この投稿もチェックしましたが、それ以上はわかりませんでした。web.config
設定が無視される可能性がある他の星座はありますか? 上記のアプローチ (つまり、1 つ以上の構成セクションを参照) で問題が発生したことはありませんが、今日、この問題を解決するために数時間を費やしましたが、どこが間違っているのかわかりません。
更新 1
@jbl のコメントに従って、次のように設定にアクセスしようとしました。
((ClientSettingsSection)ConfigurationManager.GetSection( "applicationSettings/MyProject.Properties.Settings" )).Settings.Get("MySetting")
残念ながら、ローカル テストでは、これは (これも) 期待どおりに機能しましたが、サーバー上では - ここでも - デフォルト値が使用され、web.config の applicationSettings の下にある値は無視されました。
更新 2
IIS から Web アプリケーションを削除し、新しいアプリケーションを作成しても機能しませんでした。