C# 如何在WPF应用程序上创建多个配置

C# 如何在WPF应用程序上创建多个配置,c#,wpf,xaml,.net-core,mvvm,C#,Wpf,Xaml,.net Core,Mvvm,我有一个WPF项目,它连接到业务逻辑项目类库,业务逻辑连接到Web服务。因为Web服务具有本地、UAT和生产版本。我想在App.config下创建App.Debug.config、App.UAT.config、App.Release.config。我试图从我以前的Web应用程序中做同样的事情,但我不知道为什么它不起作用。我能够创建3个配置,但调试时该值没有更改。我使用了XML文档转换,但不起作用。以下是我尝试过的: csproj先生 <PropertyGroup> <Pro

我有一个WPF项目,它连接到业务逻辑项目类库,业务逻辑连接到Web服务。因为Web服务具有本地、UAT和生产版本。我想在App.config下创建App.Debug.config、App.UAT.config、App.Release.config。我试图从我以前的Web应用程序中做同样的事情,但我不知道为什么它不起作用。我能够创建3个配置,但调试时该值没有更改。我使用了XML文档转换,但不起作用。以下是我尝试过的:

csproj先生

<PropertyGroup>
  <ProjectConfigFileName>App.config</ProjectConfigFileName>
</PropertyGroup>
<ItemGroup>
   <None Include="App.config" />
   <None Include="App.Debug.config">
     <DependentUpon>App.config</DependentUpon>
   </None>
   <None Include="App.UAT.config">
     <DependentUpon>App.config</DependentUpon>
   </None>
   <None Include="App.Release.config">
     <DependentUpon>App.config</DependentUpon>
   </None>
</ItemGroup>

App.config
App.config
App.config
App.config
App.config

<configuration>
  <appSettings>
    <add key="WCFURL" value="test.com/default.svc" />
  </appSettings>
</configuration>

App.Debug.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="WCFURL" value="test.com/debug.svc" xdt:Locator="Match(key)" xdt:Transform="Replace"/>
  </appSettings>
</configuration>

App.UAT.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="WCFURL" value="test.com/uat.svc" xdt:Locator="Match(key)" xdt:Transform="Replace"/>
  </appSettings>
</configuration>

App.Release.config

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings>
    <add key="WCFURL" value="test.com/release.svc" xdt:Locator="Match(key)" xdt:Transform="Replace"/>
  </appSettings>
</configuration>


即使我在任何配置设置上运行它,最终还是会从App.config中获得默认值。

Xml转换只对web应用自动起作用。您需要一个外接程序,它才能在其他程序上工作。看看slowcheetah,没有不需要Nuget的解决方案。除了使用config之外的任何解决方案对我来说都是好的,只要它是相似的并且解决了问题。谢谢