3

相互運用性と関連するDLLを使用する多くのプロジェクトがあります。すべてのプロジェクトには、セットアップで個別のDLL参照がありますが、基本的にすべてのプロジェクトで同じDLLが使用されます。そのため、セットアップのインストール/インストール中にDLLが登録/登録解除されると、問題が何度も発生します。

また、上記のアプローチは、セットアップ場所が変更された場合、またはDLL参照場所が変更された場合に問題を引き起こす可能性があります。

DLLを1つの場所に配置する必要があり、登録/登録解除の問題を回避するために、すべてのプロジェクトでその場所からのDLL参照を使用する必要があります。しかし、依存関係について.netに実際の参照がどのように配置されているのか疑問に思います。

どうすればそれができますか?そのためのより良い解決策または回避策はありますか?

4

3 に答える 3

2

個人的には、いくつかの理由から、すべてのアプリケーションに参照されるすべての DLL を含めたいと思っています。

  • クリーン インストールとアンインストールを実行して、アプリケーションのすべての痕跡を削除しても、何かが壊れることを心配する必要はありません。
  • 共有 DLL を変更しても、他のアプリケーションが壊れる心配はありません。

ただし、本当に 1 つの場所が必要な場合は、グローバル アセンブリ キャッシュに DLL を登録できます。Wix のような展開ツールを使用する場合、これは非常に簡単です。または、カスタム アクションを使用して GAC に登録することもできます。

于 2009-06-19T12:36:50.167 に答える
0

アセンブリ/相互運用 dll をグローバル アセンブリ キャッシュ (GAC) に入れます。

参考文献:

管理されていない dll を GAC にデプロイする方法
http://blogs.msdn.com/yizhang/archive/2007/06/17/how-to-deploy-unmanaged-dll-into-gac.aspx

グローバル アセンブリ キャッシュ
http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx

于 2009-06-14T05:06:37.330 に答える
0

マージ モジュールの使用: マージ モジュールは、開発者が共有 Windows インストーラ コンポーネントとセットアップ ロジックをアプリケーションに配布するための標準的な方法を提供します。...

このリンクは、「ビジュアル スタジオ セットアップ プロジェクト マージ モジュール」を検索するのに役立つか、Google で検索できます。

于 2009-06-14T05:17:22.123 に答える