Windows 7 で CSharp Windows サービスを実行しています。デバイス管理用のフレームワークから dll をインスタンス化します。この dll には、'pm.config' と呼ばれる app.config に保存されているいくつかの設定があります。
すべてのアセンブリと pm.config ファイルを、winsvc プロジェクト フォルダーと同じレベルにある「bin」というフォルダーにコピーしました。
dll フレームワークへの参照を追加し、プロジェクトをコンパイルしました。pm.config ファイルは、「bin\debug」および「bin\release」サブフォルダーにあります。installutil を使用して winsvc をインストールし、winsvc を開始しました。winsvc がフレームワーク dll から 'Initialize' メソッドを呼び出すと、このメソッドは pm.config ファイルを開こうとし、次の例外を生成することを除いて、すべてうまくいきました。
InnerException = {"The machine.config file 'pm.config' was not found.\r\nParameter name: machineConfigFilename"}
を使用してアセンブリの場所を調べたAssembly.GetExecutingAssembly().Location
ところ、winsvc プロジェクトの正しいフォルダー (「mysvcproject\bin\debug」フォルダー) を指しています。
これは winsvc のセキュリティ コンテキストに関連するものだと確信していますが、わかりません。Winsvc を開始するために LocalService アカウントを使用していますが、「bin\debug」にはこのアカウントに対する権限がありません。代わりに、このフォルダーの全員のアカウントを完全に制御できるようにしましたが、それでもエラーが発生しました。
私は完全に道に迷っています。誰か助けてくれませんか?
前もって感謝します