2

我在我的web.config文件中配置了许多命名的附加程序,我想知道是否可以将这些作为标准部署的一部分作为普通变量转换来解决?

我希望能够改变的是connectionString

XML 如下所示:

<appender name="AdoNetAppender_DNOA" 
       type="log4net.Appender.AdoNetAppender">
      <immediateFlush value="true" />
      <connectionType value="System.Data.SqlClient.SqlConnection, 
           System.Data, Version=1.0.3300.0, 
           Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString 
            value="data source=MyServer;initial catalog=DNOALog_Dev;
            integrated security=false;persist security info=True;
         User ID=UserId;Password=pwd" />
4

2 回答 2

3

查看Octopus Deploy 文档,可能不是。

但是,从 1.2.11 开始,log4net 已经能够从connectionStringsweb.config 文件的部分中按名称引用 ConnectionString:

<connectionStringName value="ConnStringName" />

然后,您可以将 log4net 连接字符串保留在 connectionStrings 部分,在日志配置中按名称引用它,并使用 Octopus 转换连接字符串,如其文档中所述。

(请注意,如果您使用的是较早版本的 log4net,那么如果您有其他依赖于较旧版本的组件,升级可能会成为问题,因为签名密钥在 1.2.11 中也发生了更改

于 2014-03-05T11:25:17.937 回答
2

您可以使用 Octopus 2.3 利用新的变量替换功能来做到这一点。使用它,您的代码将如下所示:

<connectionStringName value="#{ConnStringName}" />

在您的版本中,您将根据环境机器或任何感觉良好的变量传递一个变量,这应该会让您想要您想要的。

查看博客文章了解更多信息。变量替换

于 2014-03-29T03:03:17.013 回答