我对在 .NET 中使用全局程序集缓存有点陌生,并且对它的工作原理有疑问,因为我无法在网上找到任何东西。
我的 msi(使用 Visual Studio 安装程序扩展创建(使用 Visual Studio 2015))将一些程序集安装到 GAC 和我的应用程序中(这些程序集需要在 GAC 中,因为第 3 方应用程序也需要访问它们)。运行安装程序并启动应用程序后,我注意到当我启动我的应用程序时,来自 GAC 的 dll 副本会在应用程序执行目录中生成。
我的问题是,这是使用 GAC 程序集的正常工作方式吗?我假设程序集只是从 GAC 加载而不制作本地副本。或者这是我的一些错误以及我如何构建我的应用程序(CopyLocal 设置为 true,但据我了解,这仅对 Visual Studio 很重要,对部署后的实际执行没有影响)。