我已将nlog配置文件作为资源嵌入。 我正在尝试将日志文件创建到用户指定的位置。 但是Nlog要求nlog配置文件存在于用户指定的位置。 所以我想在开始编写日志文件之前,将nlog配置文件创建到用户指定的位置。 所以为此,我将nlog配置文件作为资源嵌入。但我现在的问题是如何编写将此嵌入式源写入用户指定的位置。 我发布了我提出的代码
Assembly _assembly;
Stream _config;
// StreamReader _textStreamReader;
try
{
_assembly = Assembly.GetExecutingAssembly();
_config = _assembly.GetManifestResourceStream("XXX.NLog.config");
// _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("XXX.NLog.config"));
using (Stream output = File.Open(config.LogFileFolder, FileMode.Create))
{
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = _config.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, len);
}
}
}
catch
{
MessageBox.Show("Error accessing resources!");
}
答案 0 :(得分:0)
使用 StreamReader 和 StreamWriter 。
示例:
using (StreamReader reader =
new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(defaultContentResourceName)))
{
using (StreamWriter writer = new StreamWriter(targetPath))
{
writer.Write(reader.ReadToEnd());
}
}