如何在不破坏应用程序引用的情况下从部署项目重新定位程序集?

Jam*_*mes 5 c# deployment installer assemblies

我最近重构了很多我的应用程序现有代码,现在我正在整理部署方面的东西.

现有的安装程序应用程序会在应用程序文件夹中安装所有内容(不包括位于子文件夹中的几个配置文件).但是,我有多个应用程序都使用一些常见程序集,我的目标是将这些特定程序集重定位到程序文件目录中的"Common Files"文件夹.

注意:我已经阅读了很多关于GAC的内容,但我没有使用它的经验,也阅读了一些恐怖故事,所以试图暂时找到一个简单的解决方案.

我设法将程序集安装到Common Files文件夹中,但是,结果(典型的IT)我打破了我的应用程序!如果我将程序集复制回应用程序文件夹,它可以正常工作,所以问题显然与我的应用程序引用程序集的方式有关.

为了让安装程序将程序集安装到Common Files文件夹中,我刚刚更新FolderDetected Dependencies列表中每个程序集的属性.我的想法是,当我这样做时,安装程​​序会以某种方式更新我的应用程序,告诉它在那个文件夹中查找它们,但似乎并非如此.

我到底错在了什么?

Pra*_*eep 0

如果您希望从公共文件夹“引用”某些程序集,则可以在开发时进行。然而,在部署每个应用程序时,都必须安装这些单独的程序集。

如果在运行时,多个应用程序共享某些程序集,那么“该公共文件夹”就是 GAC。