【背景】
用Visual Studio 2010写C#类库(dll文件)的时候,如下代码:
using System.Windows.Forms;
显示错误:
错误 命名空间“System”中不存在类型或命名空间名称“Windows”。是否缺少程序集引用?
【解决过程】
1.网上搜了一通,看到命名空间“System”中不存在类型或命名空间名称“Windows”说是由于当前创建的项目类型,不是windows form类型(帖子中的是consle,我这里的是dll类库),所以此处无法添加System.Windows.Forms。然后看起来也挺有道理的,所以就放弃了,以为这里真的无法添加。
同时该贴有人提到了System.Windows.Forms.dll,即System.Windows.Forms的namespace对应的是dll文件是System.Windows.Forms.dll。
后来在这里:Control Class中也看到了System.Windows.Forms.dll。
其中也提到了“winform中默认就引用System.Windows.Forms.dll的System.Windows.Forms.dll”,但是我这里的是C#类库,所以默认没有引用,也是对的。
2.后来尝试去添加对应的System.Windows.Forms引用。
项目中有引用,右击->添加引用,然后在COM项中,找到一个System.Windows.Forms.tlb,想要添加,结果出错,说是其是从.NET集中导出的,无法将其作为引用添加。
3.然后才发现,原来与COM的tab项对应的,还有一个.NET项,所以,去.NET项中,找到了System.Windows.Forms,然后确定,添加完成,就解决了此问题。
【总结】
此错误原因是缺少了对应的dll库System.Windows.Forms.dll,即需要添加对System.Windows.Forms.dll库的引用。
方法是:
右击项目名下面的那个“引用” -> 添加引用 –> .NET –> 在“组建名称”中找到”System.Windows.Forms”并添加。
即可解决此问题。
转载请注明:在路上 » 【已解决】错误 命名空间“System”中不存在类型或命名空间名称“Windows”。是否缺少程序集引用?