web.config中的“bindingRedirect”不起作用

时间:2010-09-19 15:04:16

标签: c# web-applications assemblies

我正在使用web.config中的“bindingRedirect”元素来允许更新我引用的程序集而无需重新编译我的网站。但我仍然收到同样的错误:

无法加载文件或程序集'Oracle.DataAccess,Version = 2.111.6.20,Culture = neutral,PublicKeyToken = 89b483f429c47342'或其依赖项之一。系统找不到指定的文件。

我使用“ Oracle.DataAccess ”版本 2.111.6.20 构建了我的网站。之后,我安装了一个安装到GAC的“ Oracle.DataAccess ”版本 2.102.4.0 。访问网站时,会显示上述错误。

我读到可以使用web.config中的“bindingRedirect”元素将程序集重定向到更新的版本。我的web.config看起来像这样:

<runtime> 
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
           <assemblyIdentity
                  name="Oracle.DataAccess"
                  publicKeyToken="89b483f429c47342"
                  Culture="neutral"> 
              <bindingRedirect
                  oldVersion="2.111.6.20"
                  newVersion="2.102.4.0" />                             
           </assemblyIdentity>             
     </dependentAssembly>               
  </assemblyBinding> 
</runtime>

但即使使用该元素,仍会显示错误!

我试图改变这一行 至  正如一些论坛所提到的那样,但它仍然没有用。

有人知道我的问题的解决方案吗?

1 个答案:

答案 0 :(得分:1)

可能有一个发布者策略文件会覆盖您的绑定重定向。通过使用Fuslogvw.exe查看应用了哪些策略。