“Device”类型或命名空间在“System”命名空间中不存在。

7
我正在尝试使用GeoCoordinate,它应该由.Net Framework 4.5支持。我正在使用winodws 8,并且已经安装了.Net Framework 4.5,但是我一直收到The type or namespace name 'Device' does not exist in the namespace 'System'错误信息。
有什么解决方法吗?

5
你是否已经添加了对System.Device.dll程序集的引用? - Sriram Sakthivel
谢谢@SriramSakthivel。那就是解决方案。 - Mehraban
不要误会, 在获得任何答案之前,你已经通过评论得到了答案。因此,仅保持问题开放是没有用的。至少它应该有答案,或者最好根本没有问题。 - Sriram Sakthivel
1
@CodyGray 感谢您的评论,您能解释一下为什么在问题标题中添加 [已解决] 是不好的吗? - Reza
1
@Reza 这只会增加不必要的噪音。问题已经通过接受答案旁边的绿色勾号标记为“已解决”。当然,按设计,只有提出问题的人才能选择解决他们问题的答案。如果您感兴趣,Meta 网站上已经有很多关于此事的讨论。例如,请查看 http://meta.stackexchange.com/questions/116101/is-it-ok-to-add-solved-to-the-title-of-a-question 和相关问题。 - Cody Gray
显示剩余6条评论
4个回答

11

类型或命名空间“XXX”未找到...

请牢记,如果您遇到此错误,则有三种可能性。

  1. 您可能错过了使用指令。
  2. 您可能错过了程序集引用。
  3. 您已经设置了“使用指令”和“程序集引用”,但当前项目的目标框架版本低于所引用程序集的目标框架版本。

几乎所有上述情况都可以通过执行上述三个步骤来解决问题。

希望这可以帮助您。


4

您的项目中没有添加System.Device dll的引用。

添加引用的步骤如下:
1. 在项目上右键单击“引用”文件夹。
2. 选择“添加引用”。
3. 展开“程序集”选项。
4. 在右上角的搜索框中搜索“System.Device”。
5. 搜索后,点击复选框以选择并点击“确定”。


3
如果您正在使用VS.NET:
  1. 在项目上右键单击“引用”文件夹。
  2. 选择添加引用。
  3. 选择.NET选项卡(如果它不是.NET Framework程序集,则选择浏览按钮)。
  4. 双击包含错误信息命名空间的程序集。
  5. 按下“确定”按钮。
如果您正在使用命令行,请使用/r:或/reference:选项。例如:

csc.exe /reference:System.Drawing.dll MyFontDisplayApp.cs

重新编译后,此错误将不再出现。

1

你的项目可能使用了x64库,而你的计算机只有有限的x64库。我认为在我的情况下就是这样发生的。 可能的解决方案:我将库从x86文件夹复制到我的项目的bin文件夹中。然后添加了新的引用(放弃对相同库的旧引用)。然后它就可以工作了。 注意:如果我理解有误,请纠正我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接