【问题标题】:GAC Scope: why does it override local assemblies, and is there anything we can do about it?GAC 范围:为什么它会覆盖本地程序集,我们能做些什么呢?
【发布时间】:2023-04-09 08:32:01
【问题描述】:

我今天花了一些时间与 GAC 作斗争,因为它取代了我的应用程序目录中的本地程序集,我认为 GAC 会对本地文件“排名”很奇怪;在几乎所有开发案例中,本地范围都取代了全局范围。

为什么要这样做?这似乎违反直觉。如果我有同一个程序集的多个构建(但使用不同的令牌)并且我想使用不在 GAC 中的那个,我该如何解决这个问题?

【问题讨论】:

    标签: .net visual-studio gac


    【解决方案1】:

    如果要使用特定版本的引用程序集,请在 Visual Studio 的属性编辑器中为选定的此引用程序集将“特定版本”设置为 True。

    如果您将其设置为 false,则 VS 应首先在 exe 文件附近的本地文件夹中搜索,除非 GAC 版本的程序集之前已被其他加载的程序集加载为强类型依赖项。

    【讨论】:

    • 不幸的是,似乎不同的规则适用于不同公共令牌的强命名程序集。
    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2012-01-12
    • 2014-07-28
    • 1970-01-01
    • 2015-04-05
    • 2018-04-27
    • 1970-01-01
    相关资源
    最近更新 更多