web-dev-qa-db-ja.com

Microsoft .NET Framework NGEN v4.0.30319_x64サービスが開始しないのはなぜですか?

.NET 4.0フレームワークをインストールしたところ、Microsoft .NET Framework NGEN v4.0.30319_x64services.mscに一覧表示されました。 Automatic-Delayed Startに設定されています。ただし、停止状態であり、サービスを開始しようとすると、次のメッセージが表示されます。

ローカルコンピューター上のMicrosoft .NET Framework NGEN v4.0.30319_x64サービスが開始して停止しました。一部のサービスは、他のサービスまたはプログラムで使用されていない場合、自動的に停止します。

このサービスを開始できないのはなぜですか?

6
Pragmatic Coder

これは、ngen(ネイティブイメージジェネレーター)実行可能ファイルによって「必要に応じて」開始および停止されるサービスです。 このMSDNページ によると、サービスは通常、インストールプログラム(インストーラー)と連動して、または ngen実行可能ファイル との直接対話によって開始されます。

私の知る限り、あなたが説明した行動は標準的/正しい行動です。

9
ckittel

。NET Framework NGEN v4.0.30319_x86サービスが開始されない-通常? インストールを確認する方法があります。

NGENは「Native Image Generation」の略です。管理対象アプリケーションのパフォーマンスを向上させるツールです。あなたの懸念のために、私はあなたがNGENを理解するために以下の2つの役に立つリンクを読むことをお勧めします:

  • NGenのパフォーマンス上の利点 の言及:

    NGenは、実行前にMicrosoft®中間言語(MSIL)実行可能ファイルをマシンコードにプリコンパイルするプロセスを指します。これにより、2つの主要なパフォーマンス上の利点がもたらされます。まず、実行時にコードをコンパイルする必要をなくすことで、アプリケーションの起動時間を短縮します。第2に、コードページを複数のプロセス間で共有できるようにすることで、メモリ使用量が向上します。

  • Ngen.exe(ネイティブイメージジェネレーター) 言及:

    ネイティブイメージジェネレーター(Ngen.exe)は、管理対象アプリケーションのパフォーマンスを向上させるツールです。 Ngen.exeは、コンパイルされたプロセッサ固有のマシンコードを含むファイルであるネイティブイメージを作成し、ローカルコンピュータのネイティブイメージキャッシュにインストールします。ランタイムは、ジャストインタイム(JIT)コンパイラーを使用する代わりに、キャッシュからのネイティブイメージを使用して、元のアセンブリをコンパイルできます。

    このツールは、Visual StudioおよびWindows SDKと共に自動的にインストールされます。ツールを実行するには、Visual StudioコマンドプロンプトまたはWindows SDKコマンドプロンプト(CMDシェル)を使用することをお勧めします。これらのユーティリティを使用すると、インストールフォルダーに移動することなく、ツールを簡単に実行できます。

    Ngen.exeを実行するには、管理者権限が必要です。

お使いのマシンに.NET Framework 4.0がインストールされていることを確認するために 検証ツール を試してみました。結果はどうですか?検証結果は、ツールの実行後に「現在のステータス」から確認できます。

このツールが何を返すかわかりますか?

0
Justin Dearing