为什么 Intellisense 看到命名空间,而编译器却看不到?
Why does Intellisense see a namespace, but compiler does not?
下面的屏幕截图显示 VS 2012 intellisense 从 SendGrid
命名空间中获取 Helpers
命名空间,但仍然存在编译时错误,指出
The type or namespace name 'Helpers' does not exist in the namespace 'SendGrid'
(are you missing an assembly reference?)
我检查的内容:
- 该项目是 .NET 4.5,并且从未更改过。
SendGrid
和 SendGrid.CSharp.HTTP.Client
引用都有
v4.0.30319 运行时版本,与其余参考文献相同。
SendGrid
使用的Newtonsoft.JSON
也是相同的运行时版本。
- 两者都设置为复制本地True。
- 项目中没有其他错误。
- F12 遵循
SendGrid.Helpers
命名空间中的方法成功导航到其定义,所以我推测引用的 DLL 没有问题???
- 清理并重建解决方案,重新启动 VS 和机器。
- 项目的 .NET 版本在 3.5 和 4.5 之间来回切换了好几次。
SendGrid
已使用 Nuget 添加到现有项目。
很多时候这是由设计时构建期间的构建中断引起的,请参阅 https://github.com/dotnet/roslyn-project-system/blob/master/docs/design-time-builds.md#diagnosing-design-time-builds 以获取有关诊断这些问题的说明。
按照 Hans 的要求安装旧版本 SendGrid-4.0
解决了问题。
下面的屏幕截图显示 VS 2012 intellisense 从 SendGrid
命名空间中获取 Helpers
命名空间,但仍然存在编译时错误,指出
The type or namespace name 'Helpers' does not exist in the namespace 'SendGrid'
(are you missing an assembly reference?)
我检查的内容:
- 该项目是 .NET 4.5,并且从未更改过。
SendGrid
和SendGrid.CSharp.HTTP.Client
引用都有 v4.0.30319 运行时版本,与其余参考文献相同。Newtonsoft.JSON
也是相同的运行时版本。- 两者都设置为复制本地True。
- 项目中没有其他错误。
- F12 遵循
SendGrid.Helpers
命名空间中的方法成功导航到其定义,所以我推测引用的 DLL 没有问题??? - 清理并重建解决方案,重新启动 VS 和机器。
- 项目的 .NET 版本在 3.5 和 4.5 之间来回切换了好几次。
SendGrid
使用的SendGrid
已使用 Nuget 添加到现有项目。
很多时候这是由设计时构建期间的构建中断引起的,请参阅 https://github.com/dotnet/roslyn-project-system/blob/master/docs/design-time-builds.md#diagnosing-design-time-builds 以获取有关诊断这些问题的说明。
按照 Hans 的要求安装旧版本 SendGrid-4.0
解决了问题。