我得到一个:

找不到类型或名称空间名称

错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。

有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?

我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?


当前回答

检查你的文件扩展名:

工作在vscode和一直得到相同的错误,但一切工作!彩色编码,智能感知,快速操作,文件夹图标....但出于某种原因,它就是建不起来。

最后浏览本地文件系统,注意到类文件上的文件扩展名丢失了,构建一直抱怨这个问题。

其他回答

我遇到了同样的问题:VS 2017强调引用项目中的一个类为错误,但解决方案构建正常,甚至智能感知工作。

下面是我解决这个问题的方法:

卸载引用的项目 在VS中打开。proj文件(我正在寻找重复的人建议在这里) 重新加载项目(我没有改变甚至保存proj文件,因为我没有任何副本)

这可能是两个项目之间的. net框架版本不兼容的结果。

它可以通过两种方式发生:

客户档案项目引用了一个完整的框架项目;或 一个针对新框架版本的旧框架版本

例如,当一个应用程序被设置为目标。net 4客户端配置文件框架时,它会发生,而它引用的项目目标是完整的。net 4框架。

更清楚地说:

项目A的目标是客户概要文件框架 项目A引用项目B 项目B的目标是完整的框架

这种情况下的解决方案是要么升级应用程序的框架目标(项目A),要么降级引用程序集的目标(项目B)。完整框架应用程序引用/使用客户端概要文件框架程序集是可以的,但反过来就不行(客户端概要文件不能引用完整框架目标程序集)。

注意,当你在VS2012或VS2013(使用.Net 4.5作为默认框架)中创建一个新项目时,你也会得到这个错误:

引用项目使用。net 4.0(当你从VS2010迁移到VS2012或VS2013,然后添加一个新项目时,这很常见) 引用的项目使用更大的版本,即4.5.1或4.5.3(你已经将现有项目重新定位到最新版本,但VS仍然创建了针对v4.5的新项目,然后你从新项目中引用这些旧项目)

在将一些新代码合并到vs2019项目后遇到了同样的问题。 重新启动VS,卸载和重新加载项目,确保解决方案中所有项目ToolsVersion=和TargetFrameworkVersion相同。这些都无济于事。

我有一个项目基板的情况,未能找到名称空间皮肤(在项目皮肤)。

最后我打开了基板。并检查了所有的ProjectReference Include条目。其他的都在那里,但没有对Skin的引用,即使Skin确实显示在小项目依赖对话框的复选框中。因此,项目依赖关系对话框接受了皮肤的复选框(并将其保存在某个地方),但没有改变basis .csproj。然后我手动添加ProjectReference Include,确保我拥有皮肤项目的正确路径和GUID。

< ProjectReference Include = " \ Skin皮肤csproj”>。 < > {1ad4b5d7-5014-4f5f-983e-2c59ac0e0028} < - >项目项目 < Name > Skin - < Name > < / ProjectReference >

然后我保存了基板。Csproj,问题就解决了。正如其他人所说,这是VS工具的一个问题

在我的案例中,问题是在将命名空间更改为与另一个项目中的名称完全相同之后(有意地),程序集的名称也被VS更改了,因此有两个具有相同名称的程序集,其中一个覆盖了另一个

在我的例子中,我进入解决方案属性,并确保在两个项目的配置中选中了“Build”。我的主要项目没有检查。