1

DLL を 1 つだけ出荷するために、必要なすべてのマネージド DLL を埋め込みリソースとして .NET ライブラリ プロジェクトにバンドルすることは適切ですか?

背景: API を (C# で) .NET dll として作成しましたが、すべて正常に動作しています。しかし、このライブラリには他のマネージ ライブラリ (約 15 個の dll) への依存関係がかなりあるため、それらも配布する必要があります。

私の API のユーザーがアプリケーションを作成したら、それらすべての dll をアプリケーションと共に配布する必要があります。私には、考慮すべき dll が 1 つだけあれば、より良いように思えます。

埋め込み dll を使用することの主な欠点は、動的に読み込まれる前に一時フォルダーに解凍する必要があることです。これには、パフォーマンスと堅牢性の問題がある場合とない場合があります。

4

1 に答える 1

1

これについては多くの質問があります。プラットフォーム固有の依存関係 (x86 と x64 など) をロードすることを期待している場合、または API を使用するアプリについてそれが当てはまる場合はどうなりますか? これは、特定の x86 アセンブリと x64 アセンブリもパッケージに含める必要があるということですか? すぐに毛むくじゃらになります。

これらの種類のシナリオでは、ClickOnce 配置の使用を検討する必要があります。次に、すべての依存関係が一緒にパッケージ化されます。

現実的には、API プロデューサーではなく、API コンシューマーが解決する問題です。API に多くの外部依存関係がある場合、API の人気は低くなる可能性がありますが、API の成功にとって本当に重要なことは何かについて決定を下す必要があります。

于 2012-12-07T08:55:59.233 に答える