我正在使用 Visual Studio 2012 在 VB.NET 中构建 Windows 服务。我在我的项目中包含了 log4net 来处理有关服务执行的日志信息。我创建了一个 log4net.config
文件,我在其 Copy to Output Directory
属性中标记了 Copy if newer
。
我在我的解决方案中添加了一个 Installshield LE 安装项目,并在要包含的文件中选择了 Myproject.Primary Output
。我希望我的 log4net.config
文件包含在设置中,因为它被标记为在输出中复制,但是当我实际安装它时,它不包括在内。我已经进行了研究,发现我可以将 Build Action
转换为 Content
for log4net.config,然后还可以将 Myproject.Content Files
包含在我的设置项目。事实证明它有效。
不过,看完this answer on SO ,我注意到 Build Action->Content 用于将文件作为流获取,这并不是我真正想要实现的目标
我想知道是否有其他方法,推荐方法将我的 log4net.config 文件从构建中包含到我的 Installshield 安装项目中?
最佳答案
如何在 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>
关于visual-studio - 使用 Installshield LE 包含标记为 "Copy to Output Directory"的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723782/