我使用web.config转换,如下面的帖子所述,以便为不同的环境生成配置.

http://vishaljoshi.blogspot.com/2009/03/web-deployment-webconfig-transformation_23.html

我可以通过匹配键来进行"替换"转换,例如.

<add key="Environment" value="Live" xdt:Transform="Replace" xdt:Locator="Match(key)" />

我还可以做"插入".

<add key="UseLivePaymentService" value="true" xdt:Transform="Insert" />

但是我really发现有用的是ReplaceOrInsert转换,因为我不能总是依赖原始配置文件有/没有某个键.

有什么办法可以做到这一点吗?

推荐答案

我找到了一个便宜的解决办法.如果有很多元素需要"替换或插入",那么它就不好看,也不会很好地工作.

先做一个"移除",然后做一个"插入之后|插入之前".

例如

<authorization xdt:Transform="Remove" />
<authorization xdt:Transform="InsertAfter(/configuration/system.web/authentication)">
  <deny users="?"/>
  <allow users="*"/>
</authorization>

Asp.net相关问答推荐

Web API 自托管 - 在所有网络接口上绑定

*不*使用 asp.net 会员提供程序是个坏主意吗?

如何从 dll 文件中提取类的源代码?

我可以在 .net 核心中使用 Entity Framework 6(非核心)吗?

/应用程序中的服务器错误. ASP.NET

IIS 中 ASP.net 应用程序的单独应用程序池

登录成功后 User.Identity.IsAuthenticated 为 false

忽略默认文档的表单身份验证

使用 ASPNet_Regiis 加密自定义配置部分 - 你能做到吗?

如何在 C# 中转换 TryCast?

如何将图像 url 转换为 system.drawing.image

Azure Functions 中的 DI

通过 ASP.NET/C# 使用 Plupload

c# list 如何在两个值之间插入一个新值

协调 ASP.NET 脚本包和源映射

好的 ASP.NET 类似 excel 的网格控件?

ASP.NET - 从静态方法/静态类访问会话?

如何清除 System.Runtime.Caching.MemoryCache

DataTable 不包含 AsEnumerable 的定义

POST 字符串到 ASP.NET Web Api 应用程序 - 返回 null