阻止WSE引用的System.Web.Services的.NET程序集版本重定向

时间:2010-11-11 04:15:23

标签: .net web-services .net-4.0 wse3.0

我有一个针对 .NET 4.0 框架的ASP.NET网站应用程序,该应用程序使用WSE 3.0(Microsoft.Web.Services3.dll)公开了一些Web服务以确保安全性。我在使用服务时遇到 SoapHeaderException:SOAP标题安全性未被理解错误。当应用程序针对.NET 2.0时,我有一个非常类似的设置工作正常,我比较了配置文件,但没有发现任何差异。

使用Reflector我可以看到 Microsoft.Web.Services3.dll 引用 System.Web.Services,Version = 2.0.0.0 ,但是当我使用Fuslogvw.exe (Assembly Binding Log Viewer)检查程序集绑定我看到 在框架配置中找到的版本重定向:2.0.0.0重定向到4.0.0.0 。我已经检查了各种机器级配置文件,并且没有明确引用重定向,所以我很确定重定向是由于Microsoft Publisher Policy链接到程序集中。我尝试使用publisherPolicy Element来阻止使用下面显示的配置进行重定向,但似乎没有任何影响。我也尝试将dependentPolicy元素移到dependentAssembly元素之外,使它一般适用,但这也无济于事。

任何想法我做错了或强制装配的其他方法绑定到装配的特定版本?

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Services, Version=2.0.0.0" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
      <publisherPolicy apply="no" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

0 个答案:

没有答案