8

我想运行该svcutil.exe工具来访问 Internet 上的 Web 服务。不幸的是,每当我尝试时,都会收到一堆错误,其中包括以下消息:

请求失败,HTTP 状态为 407:需要代理身份验证(ISA 服务器需要授权才能完成请求。对 Web 代理过滤器的访问被拒绝。

正如我从这篇相关文章中了解到的(这里有更多详细信息),问题是我坐在身份验证代理后面。那篇文章解释说我需要编辑app.config文件,但我不知道该怎么做。我想我会使用这个 /svcutilConfig:alternate_app.config开关,但我不知道如何构造一个有效的 .config 文件来传递给那个开关。svcutil.exe 使用的默认 app.config 文件是什么?

4

1 回答 1

12

好吧,我想我已经找到了问题的答案:

事实证明,使用的默认.config文件svcutil.exe被称为svcutil.exe.config,并且(至少对我而言)它位于此文件夹中:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin

我决定直接编辑该文件(而不是摸索/svcutilConfig开关)。我需要管理员权限才能这样做。

该文件的最终内容如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false" />
  </runtime>
  <system.net> 
    <defaultProxy useDefaultCredentials="true" /> 
  </system.net>
</configuration>

<system.net>(用元素埋藏的秘方。)

为了让这一切正常工作,我必须以管理员身份启动命令提示符,导航到上面列出的文件夹,然后从那里运行 svcutil.exe 命令。

希望这可以帮助其他陷入困境的可怜的灵魂!感谢@AndrewWebb 为我提供的线索!

于 2013-02-27T23:14:33.830 回答