指定是否禁用由于探测找不到程序集而发生的绑定失败的缓存。
<配置>
<运行时>
<disableCachingBindingFailures>
Syntax
<disableCachingBindingFailures enabled="0|1"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| Attribute | Description |
|---|---|
| enabled | 必需属性。 指定是否禁用由于探测找不到程序集而发生的绑定失败的缓存。 |
enabled Attribute
| 价值 | Description |
|---|---|
| 0 | 请勿禁用由于探测找不到程序集而发生的绑定失败的缓存。 这是从 .NET Framework 版本 2.0 开始的默认绑定行为。 |
| 1 | 禁用由于探测找不到程序集而发生的绑定失败的缓存。 此设置还原为 .NET Framework 版本 1.1 的绑定行为。 |
子元素
没有。
父元素
| 元素 | Description |
|---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关程序集绑定和垃圾回收的信息。 |
注解
从 .NET Framework 版本 2.0 开始,加载程序集的默认行为是缓存所有绑定和加载失败。 也就是说,如果尝试加载程序集失败,则后续加载同一程序集的请求会立即失败,而不会尝试查找程序集。 此元素禁用发生绑定失败的默认行为,因为无法在探测路径中找到程序集。 这些失败引发 FileNotFoundException。
某些绑定和加载失败不受此元素的影响,并且始终缓存。 发生这些失败的原因是找到程序集,但无法加载。 他们扔 BadImageFormatException 或 FileLoadException。 以下列表包括此类故障的一些示例。
如果尝试加载文件不是有效的程序集,则即使错误文件被替换为正确的程序集,后续尝试加载程序集也会失败。
如果尝试加载文件系统锁定的程序集,则即使文件系统释放程序集,后续尝试加载程序集也会失败。
如果尝试加载的程序集的一个或多个版本位于探测路径中,但所请求的特定版本不在其中,则即使将正确的版本移动到探测路径中,后续尝试加载该版本也会失败。
Example
以下示例演示如何禁用由于探测找不到程序集而发生的程序集绑定失败的缓存。
<configuration>
<runtime>
<disableCachingBindingFailures enabled="1" />
</runtime>
</configuration>