包括标记为"Copy to Output Directory"的文件,使用 Installshield LE



我正在使用Visual Studio 2012在VB.NET中构建Windows服务。我在项目中包含了log4net,以处理有关服务执行的日志信息。我创建了一个log4net.config文件,在其Copy to Output Directory属性中标记为Copy if newer

我在解决方案中添加了一个Installshield LE安装项目,并在要包含的文件中选择了Myproject.Primary Output。我希望我的log4net.config文件包含在安装程序中,因为它被标记为在输出中复制,但当我实际安装它时,它没有包含在内。我已经做了研究,发现我可以将log4net.config的Build Action转换为Content,然后也可以将Myproject.Content Files包含在我的安装项目中。事实证明它是有效的。

然而,在阅读了SO上的这个答案后,我注意到构建操作->内容是用来将文件作为流获取的,这并不是我真正想要的

我想知道是否还有其他方法,一种推荐的方法,将构建中的log4net.config文件包含到我的Installshield安装项目中?

在App.config文件中添加与日志相关的配置,如下所示。我正在使用它来托管窗口服务中的WCF服务,它对我来说很好。

   <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
      <log4net>
        <root>
          <level value="ALL" />
          <appender-ref ref="LogglyAppender" />
        </root>
        <appender name="LogglyAppender" type="log4net.loggly.LogglyAppender, log4net-loggly">
          <rootUrl value="https://logs-01.loggly.com/" />
          <inputKey value="abcdefgh" />
          <tag value="log4net" />
        </appender>
      </log4net>

最新更新