如何防止 .NET 应用程序从 GAC 加载/引用程序集?

2024-03-10

我可以以引用“本地”程序集(而不是在 Visual Studio 中的方式)的方式(Visual Studio 中的设置)配置 .NET 应用程序吗?GAC http://en.wikipedia.org/wiki/Global_Assembly_Cache)而不是 GAC 内的程序集,尽管两个程序集具有相同的名称和相同的版本?


如果两个程序集都是强命名(签名)的,则 CLR 将始终从 GAC 加载。

以下是运行时用于解析程序集引用的步骤(来自运行时如何定位程序集 http://msdn.microsoft.com/en-us/library/yx7xezcf.aspx):

  1. 通过检查适用的程序集来确定正确的程序集版本 配置文件,包括 应用程序配置文件, 发布者策略文件和机器 配置文件。如果 配置文件位于 远程机器,运行时必须 找到并下载该应用程序 先配置文件。

  2. 检查程序集名称之前是否已绑定,如果是, 使用之前加载的程序集。 如果先前请求加载 组装失败,请求失败 立即而不尝试加载 大会。

  3. 检查全局程序集缓存。如果在那里找到该程序集,则 运行时使用此程序集。

  4. 用于装配的探针(...省略了一些材料...)

正如同一篇文章后面所述:

对于没有强名称的程序集没有版本检查,运行时也没有 检查全局程序集缓存中是否有没有强名称的程序集。

因此,如果您有能力从本地程序集中删除签名,应用程序将使用它而不是 GAC 中的签名。

有关运行时绑定机制的更多详细信息,请参阅苏珊娜·库克的博客 http://blogs.msdn.com/suzcook/archive/2003/09/19/57248.aspx.

斯科特·汉塞尔曼 (Scott Hanselman) 的这篇博客文章 http://www.hanselman.com/blog/FusionLoaderContextsUnableToCastObjectOfTypeWhateverToTypeWhatever.aspx还提供了绑定过程的详细概述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 .NET 应用程序从 GAC 加载/引用程序集? 的相关文章

  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include
  • 使用未分配的局部变量

    我遇到了一个错误 尽管声明了变量 failturetext 和 userName 错误仍然出现 谁能帮帮我吗 Use of Unassigned local variable FailureText Use of Unassigned lo

随机推荐

  • 如何从一堆变量中选择最小值?

    假设我有变量 a b c and d全部都有数字 我想获得最小 最大 值 我的典型 XSLT 1 0 方法是
  • 在浏览器关闭选项卡或浏览器退出时运行方法

    是否有一个可以在 Javascript Angular JQuery 中使用的操作处理程序 可以安排在 Web 浏览器中关闭选项卡之前执行的方法 关闭我的意思是退出浏览器或关闭选项卡或崩溃或其他什么 是的 你只需绑定beforeunload
  • 如何在java中从周数、年份和星期几获取日期?

    我有周数 相应的年份和周数 即 1 表示星期一 2 表示星期二 依此类推 有没有办法在java中找到带有这些信息的日期 以下是我在网上找到的一个方法 int week 51 LocalDate wkstart LocalDate now w
  • 如何避免 VBA 中的默认属性陷阱?

    我只是偶尔使用 VBA 每次我回到 VBA 时 我都会遇到以下一些变化 我有一个Range目的 currentCell 我用它来跟踪我在电子表格中使用的单元格 当我更新它以指向不同的单元格时 我写道 currentCell currentC
  • Django - 网站主页

    我一直在研究 Django 从我所看到的来看 它真是太棒了 然而 我有点困惑 如何为我的网站实现 主页 它是一个单独的应用程序 还是只是项目中的一个视图 还是什么 对此没有真正的规则 但我喜欢做的一件事实际上是安排索引访问重定向到另一个位置
  • html 元素上的 title 属性有什么用?

    html 元素上的 title 属性有什么用 div class myDiv title This is the title Stuff div 它的目的是用作工具提示吗 它还有什么进一步的用处吗 差不多了 HTML 规范称之为咨询文本 h
  • 如何在Cron上动态设置变量?

    我正在尝试将 cron 文件放置在 etc croon 中 d 我的问题是我不想保持此文件更新 所以我正在寻找一种从文件动态获取软件版本的方法 我几乎没有其他变量 但现在我认为问题在于 cat software VERSION 它在 she
  • 在 jQuery 中取消延迟的 Promise

    如何在不从 DOM 中删除元素的情况下取消 Promise fiddle http jsfiddle net ripper234 LG9eZ 4 我运行了这段代码 box delay 2000 show slow delay 2000 pr
  • MonadFix 用严格的语言

    我正在为 Ocaml 中类似 haskell 的 do 表示法开发 camlp4 扩展 并试图弄清楚 GHC 如何编译递归 do 绑定 使用 XDoRec 启用 我想知道一元定点组合器是否可能以严格的语言存在 如 Ocaml F SML 如
  • Codeigniter 中的“gd-jpeg、libjpeg:可恢复错误:JPEG 文件过早结束”

    我正在使用 CodeIgniter 并尝试创建图像的拇指 我在某些情况下取得了成功 但在某些情况下失败了 我收到以下错误 lt lt A PHP Error was encountered Severity Notice Message i
  • 如何在没有 br 的情况下在 html 中进行换行 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有很多内容 我将把它上传到我的网站 在网站中它看起来没有换行符 添加内容需要花费很多时间 br 还有其他方法可以断线吗
  • 索引 API 403 权限被拒绝。无法验证 URL 所有权

    我想执行示例中的代码 require once google api php client vendor autoload php client new Google Client service account file json is
  • Jquery Mobile页面的Loading()方法是如何工作的?

    我是 Jquery Mobile 的新手 并在重新开发此移动网站时尝试学习它 因此 我使用 data role page 使用不同的 div 进行所有导航 并使用 pagename 进行导航 我的问题是以这种方式进行导航 如何使用加载消息并
  • ParseImageView 是否缓存 ParseFile

    ParseImageView 是否缓存 Android 中的 ParseFile 如果它缓存了 parseFile 我如何在我的 Android 设备中找到这些文件的路径 ParseImageView imageView ParseImag
  • Laravel:如何对忽略某种语言文章的雄辩集合进行排序?

    在 Laravel 中 有没有什么方法可以对集合进行排序而忽略某种语言中的文章 例如英语中的 a an the 西班牙语中的 el la 等 我想要类似的东西jQuery 表排序器 https mottie github io tables
  • 订阅后进行条带收费,从订阅中获取元数据

    当我创建订阅时 我设置了一些元数据来标识我在数据库上的订单 当我收到 webhook 时charge succeeded订阅中的元数据未在此事件中传递 我无法识别与此付款相关的订单 如何发送与订阅相关的每个 Webhook 上的元数据 订阅
  • 如何设置 checkbox.isChecked 而不引发事件

    有没有办法检查CheckBox而不运行与检查相关的代码 只是为了视觉外观 Edit private void normalCheck Checked object sender RoutedEventArgs e normal 想象一下我想
  • 固定功能与固定功能着色器 - 帮助理解概念差异

    我的背景 几个月前 我第一次开始尝试 OpenGL 没有什么特殊目的 只是为了好玩 我开始阅读 OpenGL 红皮书 并最终了解了如何制作一个具有多种不同光照的行星系统 这种情况持续了一个月 我对 openGL 的兴趣就消失了 大约一周前它
  • Python 跳过函数中的参数

    初学者在这里 我只想知道如何在 python 中跳过参数 def function a b pass function 5 我只想将 5 分配给 b 我该怎么做 你可以这样做 def function a None b None pass
  • 如何防止 .NET 应用程序从 GAC 加载/引用程序集?

    我可以以引用 本地 程序集 而不是在 Visual Studio 中的方式 的方式 Visual Studio 中的设置 配置 NET 应用程序吗 GAC http en wikipedia org wiki Global Assembly