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

Ste*_*eam 4 .net c#

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

WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
Run Code Online (Sandbox Code Playgroud)

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

找不到类型或命名空间名称'YourProject'(您是否缺少using指令或程序集引用?).

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

实际上,我在SSIS的C#脚本任务中使用此代码,这是一个ETL工具.我提到,如果您无法在普通的视觉工作室中复制问题,并希望将SSIS声明为问题的根源.

Mar*_*zek 9

使用指令(C#参考)

using指令有两个用途:

  • 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用类型:

using System.Text;

  • 为命名空间或类型创建别名.这称为使用别名指令.

using Project = PC.MyCompany.Project;

您无法导入类型,您必须导入整个命名空间,这就是为什么 using System.New.WebRequest不起作用,并且您的代码无法编译.

你可以创建一个别名WebRequest,以防止导入整个命名空间,但我个人不喜欢这个解决方案:

using WebRequest = System.Net.WebRequest;
Run Code Online (Sandbox Code Playgroud)

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

  • C#不是Java.你不能假设一切都以同样的方式运作. (4认同)