我有一个引用 Sitecore DLL 的 Visual Studio 2012 项目。(Sitecore 是供应商。)
几个星期以来,Intellisense 运行良好。昨天,在安装 Patch Tuesday 更新并重新启动后,Intellisense 不再适用于 Sitecore DLL 中的内容。不知道有没有来信。
Intellisense 仍然适用于 .NET Framework 的东西。例如,如果我输入字符串。在一个方法中,我得到了 Intellisense。
该项目具有对在解决方案资源管理器中的引用下定义的 Sitecore 命名空间的引用。具体来说,引用是Sitecore.Kernel,它来自Sitecore.Kernel.dll。
如果我右键单击References下的Sitecore.Kernel并选择View in Object Browser,我可以很好地浏览 DLL。此外,我的项目构建良好;该项目有一些引用 Sitecore.* 命名空间部分的using语句,并且它使用这些命名空间中的对象。
如果我键入using Site
并按 Ctrl-空格键,我应该会看到 Intellisense 建议{} Sitecore,但它显示的只是:
如果我尝试在 Sitecore 命名空间中的任何对象上使用 Intellisense,我不会收到 Intellisense 建议。
其他领域的建议不起作用。例如:
- 编辑 > IntelliSense > 刷新本地缓存:没有刷新本地缓存选项。是的,我确实打开了一个 CS 文件,然后正在编辑它。
- 删除 %AppData%\Roaming\Microsoft\VisualStudio\11.0\ReflectedSchemas:那里没有ReflectedSchemas文件夹。
- 工具 > 导入和导出设置 > 重置所有设置:没有为外部内容带回 Intellisense。
- 在 Visual Studio 命令提示符中,运行 devenv /resetuserdata:似乎已经完成了与先前技术类似的操作。对 Intellisense 没有影响。
- 检查工具 > 选项 > 文本编辑器 > C#:检查自动列表成员和参数信息。我认为无论如何这些都会被前两个步骤重置。
- 通过VS 2012安装程序(控制面板>卸载程序),修复整个VS安装。没有效果。
- 在 References 下删除并重新添加 Sitecore.Kernel。没有效果。
这就是真正奇怪的地方:如果我从另一个工作站远程打开这个项目——它也安装了昨天的补丁星期二的东西并重新启动——Intellisense 工作正常!我指的是使用\computername\c$...。
我不确定还能尝试什么。