如何配置Visual Studio将nlog.config复制为Application.exe.nlog?
解决Visual Studio将nlog.config复制为Application.exe.nlog并启用NLog.Schema的方法
一、配置文件复制到输出目录并重命名
要让Visual Studio把nlog.config以Application.exe.nlog的名称复制到输出目录,最可靠的方式是直接编辑项目的.csproj文件:
- 在解决方案资源管理器中右键项目,选择编辑项目文件
- 添加以下ItemGroup配置(替换原有nlog.config的Content配置):
<ItemGroup> <Content Include="nlog.config"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <Link>Application.exe.nlog</Link> <Visible>true</Visible> </Content> </ItemGroup>CopyToOutputDirectory设为PreserveNewest会只复制比输出目录中文件新的版本,避免重复复制Link属性指定输出时的文件名,项目里保留原nlog.config方便编辑,输出目录自动生成Application.exe.nlog
如果偏好UI操作(需重复手动操作,不推荐):
- 将
nlog.config的生成操作设为Content,复制到输出目录设为始终复制 - 生成后手动在输出目录将
nlog.config重命名为Application.exe.nlog,但每次重新生成都需重复此步骤
二、修复NLog.Schema自动提示
重命名文件后VS无法自动关联NLog.Schema,可通过以下两种方式解决:
方式1:在配置文件中手动指定Schema
打开项目中的nlog.config,在根nlog节点添加Schema引用:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"> <!-- 你的NLog配置内容 --> </nlog>
方式2:在Visual Studio中手动关联Schema
- 打开
nlog.config文件 - 点击VS窗口右下角的XML按钮(显示当前关联的Schema)
- 在弹出的XML Schemas窗口中,点击Add按钮
- 找到NLog.Schema NuGet包中的
NLog.xsd文件(通常路径为你的项目目录/packages/NLog.Schema.5.x.x/content/NLog.xsd,替换为实际版本号) - 选中添加的
NLog.xsd,点击Set as Default,确定后即可恢复自动提示功能
内容的提问来源于stack exchange,提问作者Shawken X
相关产品推荐
相关产品推荐

