NETプログラムをスリム化するツールを開発しました。

NETプログラムをスリム化するツールを開発しました。

参照されているが使用されていないアセンブリを削除するための. Netプログラムをスリム化するツールを開発しました。私はそれを使って1つの. Netコアプログラムを`147兆`から`59.5兆`に痩せました。

最后更新 2021/12/26 21:56
杨中科
预计阅读 1 分钟
分类
.NET
标签
.NET C# スリム·スリム

我开发了一个对.Net 程序瘦身的工具,可以把被引用但是没有被使用的程序集删除。我用它把一个.Net core 程序从147兆瘦身到59.5兆。

NETでは、プログラムをパブリッシュする際にアセンブリをトリミングする機能がありますが、その機能は静的チェックのみを行うことができます。例えば、プロジェクトではAアセンブリを使用しており、AアセンブリのクラスにはM 1とM 2の2つのメソッドがあり、M 1メソッドはBアセンブリのコードを呼び出し、M 2メソッドはCアセンブリのコードを呼び出します。プログラムでM 1メソッドのみが呼び出され、M 2メソッドが呼び出されない場合、. NETクリッピングでは、呼び出されたM 2メソッドが呼び出されていないCアセンブリをクリッピングできません。

私のツールはランタイムチェックを行い、実行時に呼び出されないアセンブリ(リフレクションなどの動的メカニズムを考慮)を削除します。NETのパブリッシャのアセンブリクリッピング機能もWinForm、WPFプロジェクトをサポートしていません。

私のツールの実装原理は複雑ではありませんが、探しても類似のソフトウェアが見つからなかったので、自分で作成しました。このようなツールを知っている人は、私に知らせてください。これが私の最初のものであることが確認されたら、私はそれを完成させ(さまざまなプロジェクトや. NETバージョン、さまざまなオペレーティングシステムとの互換性をテストします)、リリースしてオープンソース化します。

このプロジェクトがオープンソースであれば、私は私のセルフメディアに投稿します、友人は私のビービーリー、今日の見出し、ビブラート、マイクロブログ、チューブなどのチャンネルに注意を払うことができます、チャンネル名は“楊中科”です。

オリジナル:Jan Koco

原文へのリンク:https//mp.weixin.qq.com/s/B7QdVQWtgBKNKOEFj2Lg4g

Keep Exploring

延伸阅读

更多文章
同分类 / 同标签 2026/04/22

バージョン別の. NETサポート状況(250 7 0 7更新)

仮想マシンとテストマシンを使用して、各バージョンのオペレーティングシステムの. NETサポートをテストします。オペレーティングシステムのインストール後、対応するランタイムを測定し、スターダストエージェントをパスとして実行できます。

继续阅读
同分类 / 同标签 2026/02/07

AOTの使用経験

プロジェクトの最初から、新しい機能が追加されたり、新しい構文が使用されたりするたびに、AOTリリーステストを行うという良い習慣を身につける必要があります。

继续阅读