0

Windows サービスに小さな変更を加え、それらの変更を Production Staging (Windows Server 2008) に展開した後、Windows サービスは開始に失敗します。

イベントログの状態のみ

Windows は、レジストリ ファイルが他のアプリケーションまたはサービスによってまだ使用されていることを検出しました。ファイルがアンロードされます。レジストリ ファイルを保持しているアプリケーションまたはサービスは、後で正しく機能しなくなる可能性があります。

変更の 1 つは、 Slow Cheetahの魔法のおかげで、Production ビルド設定にのみ適用される NLog 構成ファイル エントリに対するものでした。

4

1 に答える 1

0

Production NLog構成に不正なNLog構成設定があったことが判明しました。

NLog は、診断をイベント ログに書き込みませんでした。コンソール モードでサービスを実行すると (サービスとしてではなく、コンソール アプリとして実行する /console フラグをチェックするサービスのパターンを使用します)、便利な例外がスローされました。

Unhandled Exception: System.TypeInitializationException: The type initializer for 'My.Service' threw an exception.
NLog.NLogConfigurationException: Exception occurred when loading configuration from C:\MyService\NLog.config 
---> System.NotSupportedException: Parameter levels not supported on FileTarget   

教訓: NLog を使用する Windows サービスが意味のある EventLog エントリなしで開始に失敗した場合は、NLog 構成を再確認してください。

これにより、私が整理するのに 15 分かかっていた人が節約されることを願って、Q&A スタイルを共有しました。

于 2012-07-03T16:31:41.733 に答える