2017-02-07 12 views
1

Webプロジェクトのプロパティ(たとえばAccessToken)で設定をセットアップしました。私のコードでは、使用して設定にアクセスします。サーバーに公開した後にアクセス設定が例外をスローする

string accessToken = Settings.Default.AccessToken; 

ローカルでデバッグするときは、うまく動作します。 Web Publish(VS2015)を使用してテストサーバーにデプロイすると、正常にデプロイされます。 web.configを見ると、設定が適切に設定されていることがわかります。

コードが実行されると、例外がスローされます。プロパティ 'serializeAs'の値は解析できません。私が読まれているかどうか確認するためだけのプロパティにアクセスする前にコードを追加しました:

foreach (SettingsProperty property in Settings.Default.Properties) 
{ 
    Log.InfoFormat("Property: {0} SerializeAs: {1} Value: {2}", property.Name, property.SerializeAs, property.DefaultValue); 
} 

ログから、私は、プロパティの名前が正しいこと、およびSerializeAsがStringであることがわかり、その値はよさそうです。私はこれを引き起こした原因を突き止めることはできません。誰でもアイデアはありますか?

補足として、これの直前に公開設定を再作成する必要がありました。彼らは何とか削除されました。私がパブリッシュすると、「パブリッシュ:1成功」となり、ビルド/パブリッシュ出力では何も見えません。このように私がアクセスすると、私はその価値を得ます。

string accessToken = Settings.Default.Properties["AccessToken"]; 

答えて

0

私はこれを動作させることができました。 Web公開時に、私は別の構成(リリース)を展開しようとしました。 Configuration Managerには、典型的なDebugとReleaseの設定がありましたが、ProductionとTestの設定もありました。リリース環境はTest環境で動作しました。テスト設定を見ると、あるプロジェクトが他のプロジェクトと同じ設定を使用するように設定されていないことに気付きました。構成マネージャーでプロジェクトの構成を変更すると、私の問題は解決しました。何かが同期外れしているはずです。これで修正されました。 web.configが正しいのは不思議ですが、プロパティにアクセスすると例外が発生しました。だから、今修正され、移動する時間。

関連する問題