C# 如何在JetBrains Rider的构建中转换.Config?
我试图根据环境创建自定义配置,似乎最好的方法是使用配置转换。我试图在构建时进行转换(在本地进行测试),但更改似乎不起作用。有什么想法吗?另外,在asp.net上为环境设置“分层配置”的正确方法是什么 帮我试试这个 在web.config(base)中 在appSettings节点下添加此配置C# 如何在JetBrains Rider的构建中转换.Config?,c#,.net,web-config,rider,web.config-transform,C#,.net,Web Config,Rider,Web.config Transform,我试图根据环境创建自定义配置,似乎最好的方法是使用配置转换。我试图在构建时进行转换(在本地进行测试),但更改似乎不起作用。有什么想法吗?另外,在asp.net上为环境设置“分层配置”的正确方法是什么 帮我试试这个 在web.config(base)中 在appSettings节点下添加此配置 .. <appSettings> <!-- Application Settings --> <add key="IsTest" value="true" /> 。。
..
<appSettings>
<!-- Application Settings -->
<add key="IsTest" value="true" />
。。
然后在中,右键单击web.config并添加一个转换(add-config-Transform),如果您还没有这样做的话
在该配置中,您将只添加特定情况下的转换
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="IsTest" value="false" xdt:Transform="Replace" xdt:Locator="Match(key)" />
...
...
如果您正在从visual studio进行调试,请尝试将“调试”值保留在根配置中,然后假设您添加了UAT_发布配置和UAT_发布转换,然后在发布应用程序时检查转换是否已应用于web配置(这些应合并回基本配置中)用于无
web.config
转换(例如app.config
)
这些似乎是根据构建配置进行转换的
web配置的根本问题是“原始”无法保留,因为www的bin直接使用项目中的.config。它不是作为构建的一部分进行的,因此应用转换将改变web配置。
(有一次尝试扩展解决了VS的问题,但还没有看到骑手的问题)
我的解决办法是
它应该可以工作,但请记住将debug保留为默认值,并为其他环境添加一个附加转换,因此当您使用debug时,您知道默认值适用,当您切换到release和build时,这些默认值将适用,但当应用程序发布时,只需查看一下发布位置,看看新的转换是否applied@EgliBecerra那么转换应该在构建过程中发生?由于某些原因,它似乎不适用于我您使用的是哪个版本的Visual Studio?还有几个关于web.config转换的问题,比如它们在xml中的格式,您知道吗?您还尝试过构建并发布到文件夹吗?一旦您这样做,请检查发布的输出,更具体地说是web.config,并检查转换是否已应用,这应该不会失败。只需使用“默认”web.config作为您的开发/调试版本,然后web.release.config当然将继续作为发布版本,因为它的转换是在发布时应用的。这是用于发布的,对吗?有没有办法进行调试?我真的很感谢您的帮助。这是为了发布,为了调试,如果有意义的话,请将调试配置变量保留在base web.config中