多くの人が、おそらくJoel Spolskyという最も人気のあるブログ記事のうちの1つに馴染んでいます。Please Sir, May I Have a Linkerスタンドアロンアプリケーションを開発して販売できるように、.NETフレームワークの依存関係を削除します。.NETアプリケーション用リンカの状態
Visual Studio開発チームのJason Zanderは、トピックが多少疑問であると主張し、実行時のセキュリティ問題(他の点など)を修正する機能が主な関心事であると主張しました。全体として、小さなオーバーヘッドはそれに値するものでした。
2009年に早送りしました。現在、C#リンカーを持っていると主張するグループがいくつかあります。 (ジェイソン・ザンダー氏は、それを実装するのにはあまり時間がかからないと言っていました。)かわいそうな.NET 1.0のダウンロードではなく、200-300Mbのクロスプラットフォーム完全.NET 3.5インストーラx86、x64、およびia64用の.NETのバージョンが含まれています。実行時のサイズを小さくするために、Microsoftの提案が含まれます:
- 開梱を再配布可能な、あなたはしたくないのターゲットプラットフォームを削除し、戻って一緒にそれを置く
- のみを使用し、ご使用のプラットフォーム のためのライブラリをダウンロードするWebブートストラップ
- ライブラリを制限し、唯一の私はそれを理解し、さらに悪いことにはx86の
のために働くました(2008年後半のような新しい)クライアントプロファイルのインストーラ(私が間違っている場合は、私を修正してください)クライアントを使用して、プロファイルは、ウィンドウに登録しなくても.NET 3.5がインストールされている。これは、複数の.NET 3.5クライアントアプリケーションがコンピュータにインストールされている場合、お互いが見えず、ランタイムが何度も再インストールされることを意味します。
Microsoftがここで考えていることは本当にわかりません。最悪の場合は、1つのターゲットプラットフォーム(x64など)にインストールし、それらのライブラリのみをインクルードする必要があると仮定しても、アプリケーションのオーバーヘッドは60メガバイト以上になります。最もよく知られている.NETアプリケーションの1つであるPaint.NETには、Difficulties installing the application because of the massive .NET dependencies.が含まれていました。無料アプリの配布に問題がある場合、他の世界はどうですか?彼らは自分のアプリケーションをインストールする前に、最後にMake a bootstrapper that installed Microsoft Installer 3.1, the .NET runtime bootstrapper, and all their other dependent librairesにしなければなりませんでした。
それではどうですか?リンカー。優れたものが存在するのか、ユーザーが大規模な.NETランタイムをインストールすることなくC#アプリケーションを構築することができるだけのツールですか?
モノ::
- Mono has its own linker
更新:オプションのカップルがありますようなので、それが見えます。下の答えから、それはかなりうまくいくように見えます。
.NET:
- Xenocodeが利用可能だと動作するもののようです。
- Thinstallが推奨されているもう1つで、VMware社のものです。
- There's another linker by Remotesoft。彼らはそれを「難読化者」として請求します。そこにはどんな考えがありますか?
- Found another by Rustemsoft called Skater .NET Obfuscator。誰でもそれらに精通していますか?
- ILmerge by Microsoft was also suggested;これはタスクの一部(つまり、ライブラリをマージし、未使用のビットを取り除くのではなく)だけを実行するように見えます。
モノツールが使用されているようです。 .NETベースのツールはどうですか?それ以外の経験や、マイクロソフトが3.5を全員に公開するのを待たなければならないのでしょうか?私は、.NET 4.0がどれくらいの時間がかかっているかを考えるのが嫌です...
IE 8. No install required.よう
そして、彼らはあなたがダウンロードすることができます偉大なデモを持って、ILMergeはそれを行うオプションを持っていませんか? – configurator
あなたはとても正しいです!マイクロソフトのwebcamドライバ(42Mそれ自体)のインストーラはWebに行き、.NET 3.0をダウンロードしました。1.5M ADSLで10分以上かかりました...私には何が求められていますか?ウェブカメラのみを使用する... –
Itnマイクロソフトが.NET 3.5を全員に押しつけるのにそれほど時間をかけずにいれば、それほど悪くない。 .NET 2.0のように最新のサービスパックに含まれていれば、ほとんどの人はこのナンセンスに対処する必要はありません。 –