Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以让web部署只使用完全覆盖的静态web.config吗?_C#_Asp.net_Asp.net Mvc_Visual Studio_Iis - Fatal编程技术网

C# 我可以让web部署只使用完全覆盖的静态web.config吗?

C# 我可以让web部署只使用完全覆盖的静态web.config吗?,c#,asp.net,asp.net-mvc,visual-studio,iis,C#,Asp.net,Asp.net Mvc,Visual Studio,Iis,我不喜欢与xdt转换作斗争,因为这对我来说太过分了,而且会占用很多时间。只需为每个概要文件创建一个完整的web.config副本,并在更改中静态编写代码,就可以轻松得多 例如,我有一个配置文件和一个发布配置文件(MyNewProfile),我希望我的发布配置文件在部署时只使用Web.MyNewProfile.config 但我希望Web.MyNewProfile.config只是一个纯文本文件,只是一个简单的Web.config文件。因此,没有发生任何转换,只是将Web.config完全替换为W

我不喜欢与xdt转换作斗争,因为这对我来说太过分了,而且会占用很多时间。只需为每个概要文件创建一个完整的web.config副本,并在更改中静态编写代码,就可以轻松得多

例如,我有一个配置文件和一个发布配置文件(MyNewProfile),我希望我的发布配置文件在部署时只使用Web.MyNewProfile.config

但我希望Web.MyNewProfile.config只是一个纯文本文件,只是一个简单的Web.config文件。因此,没有发生任何转换,只是将Web.config完全替换为Web.MyNewProfile.config中的内容


这可能吗?

我不认为Visual Studio中的Web Deploy系统会为您做到这一点(我可能错了……希望有人会纠正我),但您可以让Web Deploy运行而不进行任何转换,然后在Web Deploy完成后,在部署的文件上方手动复制您自己的配置文件,如果你真的想玩得开心,你可以自己编写脚本。

我认为Visual Studio中的Web Deploy系统不会帮你这么做(我可能错了……希望有人会纠正我),但是你可以让Web Deploy运行,而不需要任何转换,然后在Web部署完成后,在部署的文件上方手动复制您自己的配置文件,如果你真的想变得有趣,你可以自己编写脚本。

只需将Web.WhateverTransform.config文件中的整个配置元素作为替换进行转换,然后在该元素中粘贴你想要的任何内容。。。这并不完全是你所要求的,但这似乎是一个公平的工作。只有一个转换调用,然后您的整个配置文件被转换为您想要的任何形式,这满足了我对您主要目标的理解:输出一个包含web.other.config内容的web.config,同时消除了不断监视转换调用的需要

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="Replace">
  <!-- this will be the only element within the configuration node post-transform -->
  <thing></thing>
</configuration>

只需将Web.WhateverTransform.config文件中的整个配置元素作为替换项进行转换,然后将所需内容粘贴到该元素中即可。。。这并不完全是你所要求的,但这似乎是一个公平的工作。只有一个转换调用,然后您的整个配置文件被转换为您想要的任何形式,这满足了我对您主要目标的理解:输出一个包含web.other.config内容的web.config,同时消除了不断监视转换调用的需要

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xdt:Transform="Replace">
  <!-- this will be the only element within the configuration node post-transform -->
  <thing></thing>
</configuration>


“Web部署完成后,立即在部署的文件上方手动复制您自己的配置文件”,在执行此操作之前,我将求助于转换。我想我只是很惊讶我不能把它开箱。对于MS来说,这比转换更容易实现。此外,这并不完全是VS系统。据我所知,它是msbuild和msdeploy。您只需要转换更高级别的元素,就像作为完全替换一样。这与不使用转换运行不同,但它有效地生成了OP想要的输出。这看起来像什么?这听起来像是我想要的。看我补充的答案。它看起来与您的web.config现在几乎完全相同,但在配置元素上有一个xdt:Transform=“Replace”。“一旦web部署完成,就在部署的文件上方手动复制您自己的配置文件”,在执行此操作之前,我将求助于转换。我想我只是很惊讶我不能把它开箱。对于MS来说,这比转换更容易实现。此外,这并不完全是VS系统。据我所知,它是msbuild和msdeploy。您只需要转换更高级别的元素,就像作为完全替换一样。这与不使用转换运行不同,但它有效地生成了OP想要的输出。这看起来像什么?这听起来像是我想要的。看我补充的答案。它看起来与您的web.config现在几乎完全相同,但在配置元素上有一个xdt:Transform=“Replace”。