【发布时间】:2018-04-06 21:24:49
【问题描述】:
当我遇到智能感知问题时,我正在处理一个涉及基于 wpf 的 UI 程序的小项目。它不断抱怨找不到几个标识符(类/方法/属性),其中大部分来自另一个程序集。 Visual Studio 的许多其他用户也提出了类似的问题:
- WPF assembly reference missing - project still building
- Type or namespace cannot be found, when reference does exist
- Getting "type or namespace name could not be found" but everything seems ok?
如果问题只发生在引用程序集中的类型上,我可能会忽略它。但是现在即使是同一个程序集中的某些类型也被智能感知确定为“缺失”。今天我在这个wpf项目中新建了一个自定义Window,Visual Studio自动生成代码供进一步使用,如下:
public partial class ReceiveTest : Window
{
public ReceiveTest()
{
InitializeComponent();
}
}
然后intellisense告诉我找不到标识符'InitializeComponent',并且这个窗口拥有的每个控件也找不到。这真的很令人沮丧,因为它使智能感知完全无用。通常,这些“缺失”标识符在 FileName.g.i.cs 中声明并由 Visual Studio 本身管理,但似乎 Visual Studio 不知何故无法识别它。
现在我已尽我所能,包括上述链接中给出的解决方案,但一次又一次失败。任何人都可以解释这个问题并告诉我解决它的方法吗?我将不胜感激。
附:我正在使用 Visual Studio 2017 和 PowerTool 插件
【问题讨论】:
-
有时您只需要保存并重建所有项目,它就可以正常工作,就我而言。
-
您的项目是否构建?然后尝试重新启动 Visual Studio。
-
重新启动 Visual Studio 导致它崩溃一次,但问题的“InitializeComponent”部分自行解决了。但是,来自其他程序集的类型仍然标记为“未定义”,并且每个程序集的目标平台都设置为 .Net 框架 4.6.2。我不知道如何完全消除这个问题,但至少我现在可以继续我的工作了。
标签: c# wpf intellisense visual-studio-2017