You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 3.1项目编译报CS2012错误:无法写入DLL求助

.NET Core 3.1 DLL项目编译报错CS2012的排查与解决

我最近碰到一个特别棘手的本地.NET Core 3.1 DLL项目编译问题,折腾了好几天才找到根源,这里把整个过程分享出来,给遇到类似问题的朋友参考:

问题场景

我有一个未纳入版本控制、部署在本地机器上的.NET Core 3.1 DLL项目,突然无法编译,弹出错误:

CSC : error CS2012: Cannot open 'some.dll' for writing -- 'Access to the path 'some.dll' is denied.'

一开始以为是Visual Studio的问题,特意用dotnet命令行编译,结果还是报同样的错。

试过的无效解决方法

为了排查问题,我几乎试遍了常规手段,但都没效果:

  • 关闭Visual Studio,手动删除项目的obj和bin文件夹,重新编译依然报错
  • 删除整个项目,创建同名新项目,问题依旧存在
  • 移除项目对其他项目的引用,没有任何改善
  • 参考了网上相关问题的各种建议,都没能解决

中间有两次临时成功的情况:把目标框架改为3.0、修改项目名称后,第一次编译成功了,但二次编译时问题立刻复现;后来我把整个解决方案迁移到新文件夹,创建全新项目,正常运行了几天,但问题再次出现,而且只发生在这个单元测试项目上。

最终根因与解决

最后经过排查才发现:我的单元测试项目名称TheGenesysProject.Engine.Test被公司的安全软件当成可疑对象隔离了!改名后能暂时恢复,但添加新测试代码后又会被隔离。

彻底解决的方法是:将该项目的源代码文件夹添加到公司恶意软件扫描的排除列表中,之后编译就完全正常了,再也没出现过权限拒绝的问题。

内容的提问来源于stack exchange,提问作者Danny van der Kraan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 16:52:47