使用Installshield LE包含标记为“复制到输出目录”的文件

时间:2013-07-18 12:43:00

标签: visual-studio visual-studio-2012 build installshield installshield-le

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

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

然而,在阅读this answer on SO之后,我注意到Build Action-> Content用于将文件作为流来获取,这实际上并不是我想用它实现的目标

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

1 个答案:

答案 0 :(得分:0)

如何在如下所示的App.config文件中添加与loggly相关的配置。 我正在使用它在Window Service中托管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>