Visual Studio 无法删除服务参考

Visual Studio cannot remove Service Reference

我正在使用 vs2013 和 vs2015,无法删除服务引用:

一个正常的右键单击然后删除显示完成工作(或选择时键盘上的删除键) 但我得到:

The configuration for the service reference could not be deleted due to the following issue: An error occurred creating the configuration section handler for system.serviceModel/bindings: AssemblyResolveEvent handlers cannot return Assemblies loaded for reflection only.

这是我的部分 web.config(第 249 行及更多)

<system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="PayPalAPISoapBinding">
      <security mode="Transport" />
    </binding>
    <binding name="PayPalAPIAASoapBinding">
      <security mode="Transport" />
    </binding>
    <binding name="PayPalAPISoapBinding1" />
    <binding name="PayPalAPIAASoapBinding1" />
    <binding name="PayPalAPISoapBinding2">
      <security mode="Transport" />
    </binding>
    <binding name="PayPalAPIAASoapBinding2">
      <security mode="Transport" />
    </binding>
    <binding name="PayPalAPISoapBinding3" />
    <binding name="PayPalAPIAASoapBinding3" />
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="https://api.sandbox.paypal.com/2.0/" binding="basicHttpBinding" bindingConfiguration="PayPalAPISoapBinding" contract="PayPalSvc.PayPalAPIInterface" name="PayPalAPI" />
  <endpoint address="https://api-aa.sandbox.paypal.com/2.0/" binding="basicHttpBinding" bindingConfiguration="PayPalAPIAASoapBinding" contract="PayPalSvc.PayPalAPIAAInterface" name="PayPalAPIAA" />
  <endpoint address="https://api.sandbox.paypal.com/2.0/" binding="basicHttpBinding" bindingConfiguration="PayPalAPISoapBinding2" contract="PayPalLive.PayPalAPIInterface" name="PayPalAPI1" />
  <endpoint address="https://api-aa-3t.sandbox.paypal.com/2.0/" binding="basicHttpBinding" bindingConfiguration="PayPalAPIAASoapBinding2" contract="PayPalLive.PayPalAPIAAInterface" name="PayPalAPIAA1" />
</client>
</system.serviceModel>

我几年前从 paypal 引用了 WSDL,并使用 nuget 包重建了整个东西(REST 而不是旧的 soap api)

但我无法清理旧的 wsdl 代码和(服务)引用。 如果我删除 web.config 部分并随后删除引用,我会得到同样的错误。

手动修复步骤:

  • 手动从 web.config 中的 system.serviceModel 中删除了 clientbindings 部分。

  • 已从文件系统中删除服务引用目录

  • 手动编辑了我的 *.csproj 文件。 (搜索 paypal 并删除了除新 nuget 引用之外的所有内容。还从 csproj 中删除了 "service reference" 引用。)

删除web.config,然后删除服务引用。 之后恢复 web.config 并清理所有绑定引用。