タイトルがすべてを物語っています。誰かが、Ngen.exeではまだ持っていなかった.NETNativeがテーブルにもたらすものを説明してくれることを望んでいました。
私の知る限り、Ngenはまだフレームワークに依存していますが、よくある質問によると、.NETNativeは本番環境に到達したときにフレームワークに依存しません。
これはパフォーマンスに関するものですか、それともWin32/64にネイティブにコンパイルされてターゲットマシンに.NETFrameworkをインストールする必要のないC#コード(たとえば)をビルドすることもできますか?
正解です。NETNativeは、パフォーマンスだけでなく、生産性と一貫したデバイスエクスペリエンスにも関係しています。 .NET Nativeを使用すると、管理言語を使用してコードを記述し、いつものようにMSILパッケージをアップロードできます。 ただし、アプリは完全に自己完結型のネイティブにコンパイルされたコードとしてエンドユーザーデバイスにデプロイされ(.NET Nativeが本番環境に入るとき)、. NETFrameworkに依存しません。ターゲットデバイス/マシン。ご存知のように、.NETアプリケーションは幅広い範囲に及びます。したがって、完全な.NET Frameworkにも多額の投資を行っています(たとえば、RyuJITのCTPをリリースしたばかりです)。
.NET Nativeは、デスクトップCLRが使用するNGenテクノロジーの進化形と考えることができます。 .NETNativeとNGENの主な違いはいくつかあります-