私たちの C# クライアント アプリケーションは、最初の実行時にロードするのに常に長い時間がかかります。遅いのが .NET アプリの最初の実行であるかどうか、または各.NET アプリの最初の実行が遅いかどうかはまだテストしていませんが、いずれにしても問題は残ります。この 1 回限りのスタートアップ ヒットをなくすにはどうすればよいでしょうか。
私の最初の考えは、ある種のサービスがライブラリを「ウォームアップ」できるということです。アプリごとにこれを行う必要がありますか?それとも .NET アプリだけですか? サービスを実行するユーザーによって違いはありますか? おそらく、Windows サービスではなく、Windows ログインで実行されるアプリケーションが汚い仕事をするのではないでしょうか? 繰り返しますが、それが .NET サービスであるという事実で十分でしょうか?それとも、ペナルティを排除するために各プログラムを実行する必要があるでしょうか? プログラムにすぐに終了するように指示するコマンド ライン パラメーターを渡すこともできますが、それで十分でしょうか?それとも、アプリケーションの通常の実行中に使用する各アセンブリを読み込むために .NET が必要でしょうか?
Re: いくつかの回答があります。リリース モードの DLL を展開していますが、速度が低下するのは最初の起動時のみです。クラスの初期化を可能な限り遅らせています。