Windowsサービスでsystem.configuration.settingspropertynotfoundexceptionエラーが発生します

StackOverflow https://stackoverflow.com/questions/8404832

質問

SettingsProviderを使用して構成設定を読み取り、ファイルが存在しない場合はデフォルト値を設定するWindowsアプリがあります。

正常に動作します。

このアプリを起動するWindowsサービスを作成しようとしています。サービスによって実行されると、すべての設定属性でSystem.Configuration.SettingsPropertyNotFoundExceptionを取得します。

サービスがアプリを実行しているときにこの例外を解決するにはどうすればよいですか?

役に立ちましたか?

解決

これは単に、アプリが.Settingsファイルを読み取れないことを意味します。考えられる原因は2つあります。

  1. サービスは、.settingsファイルにアクセスできないアカウントで実行されます。(または.configファイルによって異なります)サービスがアプリを起動できるため、これはほとんどありません。また、設定ファイルではなくアプリへのアクセス許可を持っていることは意味がありません。

  2. ランタイムは設定ファイルを見つけることができません。設定が実行可能ファイルのルート起動パスにあることを想定しています。問題のマシンに存在することを確認してください。

    しかし、グーグルの結果は、私が考えもしなかった明らかな考えられる原因を明らかにしました。最後のコンパイル後に.settingsが追加されましたか?Visual Studioでアプリをコンパイルし、再試行してください...

他のヒント

もう1つの考えられる原因は、SettingsProvider中にスローされて例外となるカスタムInitializeを記述した場合です。

私の場合、私はこれを行いました: ジェネラコディセタグプレ

nameは常にnullとして渡されるため、base.InitializeArgumentNullExceptionをスローしていました。次のようにnull以外の名前を渡すことで修正しました: ジェネラコディセタグプレ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top