我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
当前回答
从GAC中删除程序集(C:\WINDOWS\assembly文件夹-选择您的程序集,右键单击并卸载)。因为解决方案使用guid保持引用,如果guid在GAC中,它将继续接受GAC版本进行编译。
其他回答
我知道这是踢死马,但我有这个错误和框架在哪里好。我的问题基本上是声明无法找到接口,但它构建和访问都很好。所以我开始思考:“为什么只有这个界面,而其他人都工作得很好?”
最终,我使用WCF的端点接口访问了一个服务,该端点接口使用的是实体版本6,而其余的项目使用的是版本5。我没有使用NuGet,而是简单地将NuGet包复制到本地存储库以供重用,并以不同的方式列出它们。
例如,EntityFramework6.dll vs . EntityFramework.dll。
然后,我将引用添加到客户端项目,噗的一声,我的错误消失了。我意识到这是一个边缘情况,因为大多数人不会混合实体框架的版本。
在构建解决方案时,我得到了相同的错误(类型或名称空间' '找不到)。在它下面,我看到一个警告,声明“引用无法解析”,并确保“程序集存在于磁盘上”。
我非常困惑,因为我的DLL非常清楚地位于引用所指向的位置。VS似乎没有突出显示任何错误,直到我尝试构建解决方案。
我终于意识到问题所在(或者至少我怀疑是问题所在)。我在同一个解决方案中构建库文件。因此,即使它存在于磁盘上,它也在那个位置被重新构建(在库重新构建的过程中,我的另一个项目-在同一解决方案中-引用了库,必须确定库不存在)
当我右键单击项目并只构建该项目,而不是整个解决方案时,我没有得到错误。
为了解决这个问题,我将库作为依赖项添加到正在使用它的项目中。
这样做:
我在解决方案资源管理器中右键单击我的解决方案并选择 “属性” 然后在“Common Properties”中选择“Project Dependencies”。 然后在项目下拉菜单中,我选择了项目 依靠图书馆,而且 选中“依赖”下的库旁边的复选框
这确保首先构建库项目。
在我的例子中,我进入解决方案属性,并确保在两个项目的配置中选中了“Build”。我的主要项目没有检查。
检查包含缺失类型的.cs文件的构建操作。确保它是c#编译器。
单击包含缺失类型的.cs文件。 按F4调出Properties。 确保构建动作设置为c#编译器。
之前:
后:
在我的案例中,我有一个由外部依赖(xsd2code)构建的文件,不知为何它的designer.cs文件没有被VS正确处理。在Visual Studio中创建一个新文件并将代码粘贴进去,这对我来说很管用。