为什么完全合格的C#导入失败?

时间:2013-12-31 21:47:23

标签: c# .net

在我的主要方法中,我有一行代码 -

WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);

我添加了一个导入 - System.Net.WebRequest。这会导致错误:

  

无法找到类型或命名空间名称'YourProject'(是吗?   缺少using指令或程序集引用?)。

当我将导入更改为System.Net时,错误消失了为什么会发生这种情况?

实际上,我在SSIS的C#脚本任务中使用此代码,这是一个ETL工具。我提到,如果你不能在普通的视觉工作室中复制问题并且想要将SSIS声明为 问题的根源。

1 个答案:

答案 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;

是的,错误可能更具描述性,但这就是问题所在。