ASP.NET Web发布配置文件任务以覆盖SlowCheetah配置文件转换

时间:2018-11-30 19:32:28

标签: c# asp.net visual-studio msbuild slowcheetah

我们有一个Sitecore Web应用程序,可以将其部署到多个环境中。我们利用SlowCheetah为每种环境转换不同的配置文件。而且,我们使用PublishProfiles存储发布到的目标IIS服务器。

我们有一些环境需要包含一些额外的文件,但是具有与另一个环境相同的配置转换。因此,与配置配置相比,我们拥有更多的发布配置文件。

我们正在利用这种技术在pubxml配置文件中复制额外的文件: https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-extra-files

我遇到的问题是,要转换的配置文件优先于我尝试复制到PublishProfile中的其他文件。但是,普通的解决方案文件将被我们从发布配置文件中复制的其他文件覆盖。

因此,下面给出此示例:

PublishProfiles
TestA.pubxml (Test buildconfiguration)
 -> robots.txt (Extra)

TestB.pubxml (Test buildconfiguration)
 -> robots.txt (Extra)
 -> ConnectionStrings.config (Extra)


Solution Files 
ConnectionStrings.config (Solution)
 -> ConnectionStrings.Test.config (Solution)
robots.txt (Solution)

TestA在以下位置发布结果

  robots.txt (Extra)
  ConnectionString.config (Transformed .Test.config from Solution)

这是我期望并希望发生的事情。

TestB在以下位置发布结果

  robots.txt (Extra)
  ConnectionString.config (Solution)

这不是我想要的。我希望我多余的ConnectionStrings.config覆盖我的解决方案ConnectionStrings.config。

我认为正在发生的事情是转换后的connectionstrings.config优先于其他文件版本,因为它是较新的(它是刚刚构建的)。是否有另一种技术可用来获取最后发布的网络中包含的多余文件,这些文件将覆盖具有相同名称的任何其他现有文件?

0 个答案:

没有答案