.NET Core xUnit测试项目安装NLog后NLog.config被锁定无法编辑
NLog.config文件被锁定无法编辑的原因及解决方法
问题复现场景
使用VS2019创建基于.NET Core 3.1的xUnit测试项目,通过NuGet安装以下NLog依赖后出现配置文件锁定问题:
<PackageReference Include="NLog" Version="4.7.12" /> <PackageReference Include="NLog.Config" Version="4.7.12" /> <PackageReference Include="NLog.Schema" Version="4.7.12" />
核心原因
- 错误安装了已废弃的
NLog.Config包:该包为.NET Framework传统项目设计,安装时会自动将内置的NLog.config文件设置为只读属性,避免默认模板被误改。.NET Core 3.1及更高版本的项目无需安装该包,NLog核心包已包含所有基础功能,配置文件可手动创建。 - VS进程临时占用:NuGet安装完成后,VS的后台设计时编译、NuGet校验进程可能还未释放
NLog.config的文件句柄,导致临时无法编辑。
修复方案
- 卸载
NLog.Config和NLog.Schema两个依赖包,.NET Core项目仅保留NLog核心包即可,手动在项目根目录新建NLog.config配置文件,不存在只读锁定问题。 - 若需要保留当前已安装的包,右键选中项目内的
NLog.config文件,打开属性面板,取消只读选项的勾选即可正常编辑。 - 如果修改属性后仍无法编辑,关闭所有VS窗口,到本地项目目录下右键
NLog.config文件,取消操作系统层面的只读属性后重新打开VS即可。
内容的提问来源于stack exchange,提问作者KBNanda
相关产品推荐
相关产品推荐

