将我的DLL部署到GAC,引用其他DLL不在GAC中

时间:2013-12-13 21:17:11

标签: reference assemblies gac

我正在构建一个类库。该库将部署到GAC。

在我的库中,我引用了一些外部依赖项。无法将依赖关系部署到GAC。

当我部署我的库并使用它时,它会抱怨它无法加载依赖项。

如何部署第三方DLL以便程序集可以引用它们?

1 个答案:

答案 0 :(得分:1)

要将程序集添加到GAC,您也不需要将该程序集的所有引用都添加到GAC中。因此,只要使用您的程序集的应用程序可以找到所有引用就没有问题。

因此,要么私下部署所有程序集(与应用程序位于同一文件夹中),要么将它们部署到该GAC中,并私下部署该交换程序集。

<强>更新

如果您不是构建应用程序的人,而是仅提供库,则适用相同的规则。

您无法拥有另一个与GAC相似但不是GAC的中央文件夹。

您图书馆的用户应至少与其应用程序私下部署该程序集。如果您只提供库并且库的用户进行部署,则没有问题。

您无法提供安装程序,并且所有应用程序都使用您的库,而不至少要求他们在应用程序中提供该程序集。通常这对.Net应用程序来说不是问题。不使用GAC使得基本上安装'xcopy部署'。

当然,其他解决方案不依赖于该程序集。