2

在几个项目的 App.config 文件中,有一行

<add key="url" value="http://www.example.com/"/>

在每次构建时,我都希望有一个任务来验证"url"密钥是否没有text "http://localhost"。有没有办法做到这一点?

4

2 回答 2

1

我假设您有一个团队,并且您的一些团队成员无意中签入了这些配置,将该值更改为 localhost。

如果是这种情况,为什么不为每个环境提供转换文件,您的调试配置可以将密钥设置为 localhost,而您的 production/test/stage/qa/whatever 配置可以将其设置为 example.com 或其他内容。

您可能不知道 msbuild 可以转换您的配置文件。基本上你有你的主配置文件,然后是一个配置文件,其中包含每个环境的更改内容。在进行构建时,msbuild 将使用其他“转换”文件中的任何更改来修改主要的。

不是 Visual Studio 2010 中的 Web 项目的项目的 App.Config 转换?

您的转换文件如下所示:

<?xml version="1.0"?>

<!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">    
  <appSettings>
    <add key="url" value="http://www.example.com/" xdt:Locator="Match(key)" xdt:Transform="SetAttributes"/>
  </appSettings>
</configuration>

微软链接是http://msdn.microsoft.com/en-us/library/dd465326(VS.100).aspx

它们可以很容易地在 web.configs 和 app.configs 上使用,只需对您的项目文件进行一些调整。

于 2012-05-16T19:44:53.923 回答
0

另一种解决方案是将单元测试集成为构建的一部分,并让测试验证 web.config 中的密钥。

转到您的构建:

在此处输入图像描述

右键单击您的构建,然后单击编辑构建定义:

在此处输入图像描述

选择流程:

在此处输入图像描述

现在我们可以在这里设置失败:

在此处输入图像描述

于 2017-01-29T16:39:39.780 回答