回 帖 发 新 帖 刷新版面

主题:为什么我的系统里没有System.Net.dll文件,请高手指点

我的环境:Windows2000 + sp4 + .Net FrameWork SDK 2.0,为什么我的系统中没有System.Net.dll文件,我是一个学习C#的新手,请高手帮忙指点[em10]

回复列表 (共7个回复)

沙发

System.net 命名空间是System下的吧?
只要添加了System.dll引用就可以使用了 
没有.net.dll文件

板凳

但我看到的很多教程里面都有提到System.Net.dll这个文件,而且说明编译的时候要指定该文件

3 楼

这里有个命名空间和类集的概念,简单说就是我们看到的引用比如说System.Net 不是实际存在于某个Dll 而是属于类集 其实有好多引用你如果真去找的话根本找不到Dll 

至于你的例子上 编译要指定的话 不知道他指定的是 csc /r:system.dll 还是
csc /r:system.net.dll 
如果是后者我相信肯定谁都编译不过去

C#里面用Using就行了 指定多费劲?

4 楼

您说的我都清楚,但是我这个例子怎么也编译不过去,无论是指定哪个Dll还是不指定Dll,我学习C#时间不长,但使用VC已经很长时间啦,请指教
using System;
using System.Net;

class ResolveDNS
{
    IPAddress[] m_arrayIPs;
    public void Resolve( string s_host )
    {
        IPHostEntry ip = DNS.GetHostByName( s_host );
        m_arrayIPs = ip.AddressList;
    }
    public IPAddress this[ int nIndex ]
    {
        get
        {
            return m_arrayIPs[ nIndex ];
        }
    }
    public int IPLength
    {
        get
        {
            return m_arrayIPs.Length;
        }
    }
}

class TestApp
{
    public static void Main()
    {
        ResolveDNS resolver1 = new ResolveDNS();
        resolver1.Resolve( "www.sohu.com" );
        int n = resolver1.IPLength;
        Console.WriteLine( "Get the IP Address of the host" );
        Console.WriteLine();
        for( int i = 0; i < n; i ++ )
        {
            Console.WriteLine( resolver1[ i ] );
        }
    }
}
编译错误为:
e:\ResolveDNS.cs(9,20): error CS0103: The name 'DNS' does not exist in the current context

5 楼

IPHostEntry ip = DNS.GetHostByName( s_host );

把DNS 改称Dns 
不熟悉的类名字用全引用看看
System.Net.Dns
避免把名字给弄错了

6 楼

非常感谢,我用的是EditPlus编辑器,没有提示的所以出现这个问题,而装VS2003又太大啦,有没有相关的资料可下呀

7 楼

msdn 上资料很全的
你可以经常去查查看看有什么你需要的

我来回复

您尚未登录,请登录后再回复。点此登录或注册