c# - 如何在 WPF 应用程序上创建多个配置
问题描述
我有一个 WPF 项目,它连接到业务逻辑项目类库,业务逻辑连接到 Web 服务。由于 Web 服务有本地、UAT 和生产版本。我想在一个App.config下创建一个App.Debug.config、App.UAT.config、App.Release.config。我正在尝试从我以前的 Web 应用程序中做同样的事情,但我不知道为什么它不起作用。我能够创建 3 个配置,但调试时值没有改变。我使用了 XML-Document-Transform 但不起作用。这是我尝试过的:
.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>
应用程序配置
<configuration>
<appSettings>
<add key="WCFURL" value="test.com/default.svc" />
</appSettings>
</configuration>
应用程序调试配置
<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>
应用程序.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 获得默认值。
解决方案
推荐阅读
- ios - 获取非本地化字符串
- c# - 使用 .Net Core 读取简单的图像元数据
- docker - Zalenium Grid:如何设置超时、maxInstances 和 maxSessions?
- excel - VBA 问题:如何使用 VBA 在 excel 中将值从“X”更改为“Y”
- r - 有没有办法用 R 制作尽可能小尺寸的 csv 或 txt 文件?
- c# - asp.net fileUpload 不会两次上传相同的文件
- javascript - 如何使用 nodejs 标记 m4a 音乐
- database - 如何在 Windows 中安排 cron 作业以特定时间间隔在 oracle 数据库中执行查询或存储过程?
- typescript - VS Code 扩展不包括编译时的文件夹
- c++ - 在列表末尾插入元素的列表的 C++ STL 向量