使用VS2010在C#上出现Wininet.dll错误

时间:2013-10-18 13:04:36

标签: .net visual-studio-2010 c#-4.0 wininet

我的C#代码有问题(我正在使用VS2010),我尝试使用wininet.dll来使用它的FTP功能。 DLL不是.NET组件所以我无法添加作为引用,而是使用了我在互联网上看到的代码,这里是代码:

[System.Runtime.InteropServices.DllImport("wininet.dll", CharSet = System.Runtime.InteropServices.CharSet.Ansi, SetLastError = true)]
    extern public static long InternetOpen(
        string lpszAgent,
        long dwAccessType,
        string lpszProxyName,
        string lpszProxyBypass,
        long dwFlags);

我在保存和构建项目时没有遇到任何错误,但是当我尝试调试时收到错误,错误的一部分说“Culture = neutral,PublicKeyToken = null”因为方法'InternetOpen'没有实施(没有RVA)。“

我认为错误是因为它无法看到实际的wininet.dll文件,我尝试将该文件放在项目文件所在的文件夹中,但它没有解决问题。希望你们能帮助我。提前谢谢!

1 个答案:

答案 0 :(得分:0)

运行时可能无法找到该签名的入口点,因为根据P / Invoke.net,签名如下所示:

[DllImport("wininet.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern IntPtr InternetOpen(string lpszAgent, 
                                  int dwAccessType, 
                                  string lpszProxyName, 
                                  string lpszProxyBypass, 
                                  int dwFlags);