0

我的 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文件,我尝试将文件放在项目文件所在的文件夹中,但没有解决问题。希望你们能帮助我。提前致谢!

4

1 回答 1

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);
于 2013-10-18T13:16:44.260 回答