我已经开发一个小工具,工资信息上传到瑞士管理和我用WSE 3.0成功。但现在,我的一个客户报告说,他的机器上,我的程序有以下堆栈跟踪崩溃了:

WSE032: There was an error loading the microsoft.web.services3 configuration section.
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_Current()
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_MessagingConfiguration()
  at Microsoft.Web.Services3.WebServicesClientProtocol..ctor()
  ...

我一直试图弄清楚这是什么意思,但我必须承认,我在这里有点失落。该方案具有与下列内容的.exe.config文件:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    ...
  </configSections>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
  <microsoft.web.services3>
    <security>
      <x509 allowTestRoot="false" storeLocation="CurrentUser" skiMode="RFC3280"/>
    </security>
  </microsoft.web.services3>
...
</configuration>

删除从上面的XML的<security>节点的排序的修复该问题(在WSE032错误消失),但是这不是我的情况的解决方案,因为我需要配置安全这样,才能到能够登录我发送以后的数据。

任何想法可能是什么问题。显然,WSE 3.0已经安装在客户机器上,否则,堆栈跟踪不会在来电显示它WSE032错误发生之前。

有帮助吗?

解决方案

看来,顾客从安装在共享一个驱动器字母执行程序;尽管我认为.NET 3.5 SP1允许完全信任权限才能从LocalIntranet_Zone推出的EXE文件,这似乎是与可执行的WSE配置部分的加载的问题。

要解决这个问题,我跑caspol其可以在这里找到:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe

的命令行是沿着线的东西:

caspol -m -ag LocalIntranet_Zone -url N:\* FullTrust -n "name" -d "description"

为安装在驱动器字母N:份额;注意,namedescription是纯粹的信息。

此命令使驱动器上的所有可执行文件N:FullTrust特权,就好像它们是从当地的资源开始(硬盘驱动器,例如)。

请参阅如何:在文件夹和集授予权限的MSDN上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top