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