c# – 为什么Intellisense会看到命名空间,但编译器却没有?

下面的屏幕截图显示VS 2012 intellisense从SendGrid名称空间中获取Helpers名称空间,但是仍然存在编译时错误说明

The type or namespace name 'Helpers' does not exist in the namespace 'SendGrid'
(are you missing an assembly reference?)

《c# – 为什么Intellisense会看到命名空间,但编译器却没有?》

我检查了什么:

>该项目是.NET 4.5,从未改变过.
> SendGrid和SendGrid.CSharp.HTTP.Client引用都有
v4.0.30319运行时版本,与其余引用相同.
> SendGrid使用的Newtonsoft.JSON也是相同的运行时版本.
>两者都设置为复制本地True.
>项目中没有其他错误.
> F12跟随SendGrid.Helpers命名空间中的方法成功导航到它的定义,所以我猜测引用的DLL没有问题???
>清理并重建解决方案,重启VS和机器.
>来回切换3.5到4.5之间的项目的.NET版本.

使用Nuget将SendGrid添加到现有项目中.

最佳答案 按照Hans的说法安装旧版本的SendGrid-4.0解决了这个问题.

点赞