.NET Framework 2.0 を対象として、単純な Windows フォーム実行可能ファイルを C# で作成しました (単純に言えば、約 20 個のメソッドがありますが、ウィンドウは 1 つだけです)。InitializeComponent();
アプリケーションがロードされると、コンストラクターのデフォルト以外のことは何もしません。
Windows 8 を初めて開いたとき、ここでアプリケーションを読み込むのに約 7 秒かかりました。その後、次に開くときに1秒もかかりません。
私が試した Windows XP では、初回のロードに約 30 秒かかります。私の友人の何人かは、アプリケーションをテストするときに、最初の読み込みに時間がかかる (これも約 30 秒) と不満を漏らしています。その後、より速く(1または2秒)かかります。
これは、.NET Framework がまだロードされていないことが原因であると考えられるため、マシンにロードするのに時間がかかります。
.NET アプリケーションで同じ問題を経験したことがありますか?
なぜこれが起こるのか、どうすれば修正できますか?
編集 - 一部の人々がNGENを提案しているようです。ただし、アプリケーションを使用するすべてのマシンでこれを行う必要がある場合、これは解決策にはなりません。自分のアプリケーションを「一般ユーザー」の大衆にリリースしたいのですが、自分のアプリケーションを使用するために追加の作業を彼らに要求しても意味がありません。.NET Framework が必要になるだけでも十分です。私のアプリケーションは、依存関係のないスタンドアロン EXE のみにする必要があります (フレームワークを除く)。
ありがとうございました。