1

我致力于一个多层解决方案,一个 Web 表单应用程序。所有的 Web 服务都在一个名为 WS 的项目下。他们有一百多个。我从 Web Forms 项目中调用 WS。

我想使用 Debug 配置下的测试服务和 Release conf 下的 live system。

WS 库项目的 app.config 是

<applicationSettings>
  <WS.Properties.Settings>
    <setting name="settingName"
        serializeAs="String">
      <value>http://test.x.com/a.asmx</value>
    </setting>
  </WS.Properties.Settings>
</applicationSettings>

所以我添加了 web.Config 这些行

<configSections>
  <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

    ......

    <section name="WS.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </sectionGroup>
</configSections>



<applicationSettings>
  <WS.Properties.Settings>
    <setting name="settingName"
        serializeAs="String">
      <value>http://live.x.com/a.asmx</value>
    </setting>
  </WS.Properties.Settings>
</applicationSettings>

然后它可以启动实时服务。

在 web.debug.config 我尝试了一些转换;但是程序仍然与 web.debug 中的设置连接(启动实时服务)。

<applicationSettings>
  <WS.Properties.Settings xdt:Transform="Replace" xdt:Locator="Match(name)">
    <setting name="settingName"
      serializeAs="String">
      <value>http://test.x.com/a.asmx</value>
    </setting>
 </WS.Properties.Settings>
</applicationSettings>

我应该如何更改 web.debug.config 文件以便在调试配置中连接测试服务。

谢谢,

4

1 回答 1

0

此选择仅影响发布而不是调试部分。我找到了,但我没有时间分享答案。

使用一些预处理器可能是一个更好的解决方案

#if DEBUG
....
#endif
于 2017-12-08T18:41:00.623 回答