なぜC#がC ++スタイルの静的ライブラリを持っていませんか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/1835761

  •  11-09-2019
  •  | 
  •  

他のヒント

このは、直接C#に、しかし全体の.NET傘とは関係ありません。確かに、それは ILMergeするを使用してアセンブリをマージすることは可能ですが、残念ながらそれはまだ研究プロジェクトだが、少なくともそのライセンス許可は、市販の努力のために使用します。それ以外は、ランタイム(CLR)は、単一の実行可能ファイルに合体することができない、ターゲットプラットフォームは、まだ.NETがインストールされている必要があります。

編集ます:

あなたがILMergeとあなたのポストを編集した前に、

私はこれを入力しました。私は間違っているかもしれないが、実行時に.NETスタイルのダイナミックリンクを避けることから、追加の利点がありません。実行ファイルと一緒にサテライトアセンブリを置くことには何の問題もありません。マイクロソフトは、GACにそれらを置くことはお勧めしません。

静的LIBSを使用することは、ランタイム・プロバイダ(MS)によってパッチ可能でないという欠点を有している。

あなたは、静的なMFCのLIBSを使用してsecurify問題やその他のバグがMFC静的LIBSに発見された場合は、

たとえば、MSはそれにパッチを適用することはできません(コードが実行可能ファイルにすでにあります)。共有DLLを使用すると、あなたがその気にせずにOSレベルで簡単にパッチすることができます。

もちろんは、共有ライブラリを持つことは、小さな欠点があります。システムへの依存が成立し、それらをインストールする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top