2013-12-13 53 views
4

我正在构建一个类库。该库将部署到GAC。将我的DLL部署到GAC,参考其他不在GAC中的DLL

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

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

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

回答

1

要将组装件添加到GAC,您不需要将该组件的所有参考都放入GAC中。所以只要使用你的程序集的应用程序可以找到所有的引用,这是没有问题的。

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

UPDATE

,如果你不是一个建立应用程序,但只是提供了一个库中的规则也同样适用。

没有办法让另一个中央文件夹像GAC一样行事,但不是GAC。

您的图书馆的用户应至少使用他们的应用程序私人部署该程序集。如果您只是提供库并且库的用户进行部署,那么这没有任何问题。

您不能提供安装程序并让所有应用程序使用您的库,但至少不要求它们向应用程序提供该程序集。通常这对于.Net应用程序来说不是问题。不使用GAC基本上安装'xcopy部署'。

当然,其他解决方案将不取决于该组件。

+0

这是相反的方式。我的应用程序依赖于无法部署到GAC的DLL。没有应用程序文件夹。 – CamronBute

+0

你是什么意思,没有应用程序文件夹?你把你的exe文件放在哪里?或者如果它是一个web应用程序,你的bin文件夹在哪里? –

+0

该程序集已部署到GAC。比方说,依赖关系是坐在“c:\ stuff” – CamronBute