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

Cam*_*ute 5 assemblies gac reference

我正在建立一个类库.该库将部署到GAC.

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

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

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

Lar*_*ens 2

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

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

更新

如果您不是构建应用程序的人,而只是提供一个库,则同样的规则适用。

您不可能拥有另一个类似于 GAC 但又不是 GAC 的中央文件夹。

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

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

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

  • 恰恰相反。我的应用程序依赖于无法部署到 GAC 的 DLL。没有应用程序文件夹。 (2认同)