编译器提示NuGet包缺失命名空间,反编译器却显示正常?
解决:替换ProjectReference为PackageReference后命名空间不存在错误
问题背景
项目Fancy.Common.Types包含通用枚举和标记类型,原本通过ProjectReference被解决方案内多个项目引用。为发布Fancy.Service.Client作为NuGet包,先将Fancy.Common.Types打包上传至公司私有NuGet源。用JetBrains dotPeek反编译该NuGet包,能正常查看所有枚举定义,但在Fancy.Service.Client.csproj中把ProjectReference替换为该包的PackageReference后,出现编译错误:
The type or namespace 'Common' does not exist in the namespace 'Fancy' (are you missing an assembly reference?)
已尝试的无效排查步骤
- 清理并重新构建解决方案
- 触发CI流水线执行构建
- 确认两个项目均基于net6.0框架
- 核对命名空间与包名称的拼写正确性
根因结论
经排查,该错误的核心原因是依赖冲突。
内容的提问来源于stack exchange,提问作者user2015635
相关产品推荐
相关产品推荐

