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

Max*_*eat 37 installshield build visual-studio visual-studio-2012 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 ActionContent了log4net.config,然后还包括Myproject.Content Files在我的安装项目.事实证明它有效.

但是,在SO上阅读这个答案之后,我注意到Build Action-> Content用于将文件作为流来获取,这不是我想用它实现的.

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

小智 1

如何在 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>
Run Code Online (Sandbox Code Playgroud)