在我的主要方法中,我有一行代码 -
WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
我添加了一个导入 - System.Net.WebRequest
。这会导致错误:
无法找到类型或命名空间名称'YourProject'(是吗? 缺少using指令或程序集引用?)。
当我将导入更改为System.Net
时,错误消失了为什么会发生这种情况?
实际上,我在SSIS的C#脚本任务中使用此代码,这是一个ETL工具。我提到,如果你不能在普通的视觉工作室中复制问题并且想要将SSIS声明为 问题的根源。
答案 0 :(得分:9)
using Directive (C# Reference)
using指令有两个用途:
- 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用类型:
using System.Text;
- 为命名空间或类型创建别名。这称为使用别名指令。
using Project = PC.MyCompany.Project;
您无法导入类型,您必须导入整个命名空间,这就是为什么using System.New.WebRequest
不起作用,而您的代码无法编译。
您可以为WebRequest
创建一个别名,以防止导入整个命名空间,但我个人不喜欢这个解决方案:
using WebRequest = System.Net.WebRequest;
是的,错误可能更具描述性,但这就是问题所在。