我在构建一个引用位于项目 bin 文件夹中的 DLL 的项目时遇到问题,直到昨天,该项目的构建和运行都没有问题。
我得到的错误是fatal error CS0009: Metadata file 'c:\MyProject\bin\myClient.dll' could not be opened -- 'Error importing module 'myClient.netmodule' of assembly 'c:\MyProject\bin\myClient.dll' -- The system cannot find the file specified.'
Intellisense 同样抱怨,The type or namespace 'Api' does not exist in the namespace 'Client'
因为它找不到 DLL。
如果您认为这是重复的,请告诉我,但是我查看了几篇类似的帖子,并且解决方案确实解决了我的问题。这里有些例子:
- Visual Studio 2010 — 您是否缺少 using 指令或程序集引用?
- VS2010 - 获取“找不到类型或命名空间名称”但一切似乎都正常?
- 受到 ASP.NET 编译错误 CS0009 的阻碍
- 在 Visual Studio 中找不到元数据文件“...\Release\project.dll”
- Visual Studio 2010:找不到元数据文件“.../Debug/Graph.dll”
- 元数据文件...构建项目时找不到错误
具体来说,我尝试了以下解决方案(以及这些解决方案的组合):
- 清理并重建了我的项目。
- 确保目标框架不是 .NET 的“客户端配置文件”版本
- 已验证 dll 已添加为项目引用
- 删除并重新添加了项目参考
- 已验证项目是否在 Visual Studio 的“引用”部分中显示 DLL
- 修复.NET
- 验证 DLL 的位置(它在错误给出的本地项目的 bin 文件夹中)
- 尝试了其他版本的 .NET
- 关闭并重新启动 Visual Studio
- 重新启动我的机器
- 已验证“使用”语句周围没有隐藏字符
- 删除了自上次工作构建以来的所有代码更改
- 验证配置管理器中的设置,包括选中“构建”
调用 DLL 的项目是一个小型类库,它与另一个小型项目(控制台应用程序)一起驻留在解决方案中。DLL 是一个外部 DLL,我已经在这个项目/解决方案中成功使用了几个星期。无论我是从解决方案还是自己构建项目,都会出现错误。
关于可能发生的事情有什么想法吗?