【问题标题】:How to implement Continuous integration on asp.net website projects not web application using TFS 17如何使用 TFS 17 在 asp.net 网站项目而非 Web 应用程序上实现持续集成
【发布时间】:2017-06-07 11:02:45
【问题描述】:

我有一个 asp.net 网站项目,想使用 TFS 2017 实现持续集成。我真的很想知道如何摆脱带有特定环境键的配置文件。

目前我已经为每个环境创建了一些配置转换文件并明确发布配置文件。我的构建定义将在构建之后创建一个包。但该软件包包含专门针对环境的配置。

我想知道如何像我们为 Web 应用程序项目做的那样标记这个东西。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 我想知道有没有办法将 parameters.xml 与 asp.net 网站项目一起添加,因为我们有这个选项可以很好地与 web 应用程序项目一起工作。

标签: asp.net web continuous-integration


【解决方案1】:

这里是an example 关于在网站项目中使用parameters.xml 文件并在TFS 版本中部署。

注意:

步骤 2. MSBuild 参数如下:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation=”$(build.artifactstagingdirectory)\\”

Step3:在每个环境中,使用Replace Token step 替换web.config 文件中要更改的值。

更新:

作为一种解决方法,您可以使用 Unzip step 解压缩包并使用替换令牌步骤更改 web.config 文件。然后再次压缩或直接部署到 IIS。

【讨论】:

  • 感谢您的回复。您在这里提到的解决方案没有解决我的问题。 ASP.net 网站项目未从解决方案随附的 parameters.xml 文件中获取值。这里的解决方案更适合web应用项目。
  • @abhilash 你发布到 Azure 网站了吗?如果没有,您可以使用 Replace token 在每个环境中直接更改 web.config 页面,而无需使用 parameters.xml
  • 我正在发布到 IIS 服务器。这怎么可能执行替换令牌? web.config 在压缩包中。如果不提取包,就无法执行替换令牌。如果您建议解压缩它,那实际上是不可能的,因为我的项目超过 4 GB。
  • @abhilash 回复晚了,我已经测试了网站,你可以解压包并使用替换令牌更改值,请参考我的回复更新。
猜你喜欢
  • 1970-01-01
  • 2020-03-18
  • 2010-09-25
  • 2010-10-05
  • 2014-04-24
  • 2011-02-03
  • 1970-01-01
  • 2013-05-02
  • 1970-01-01
相关资源
最近更新 更多