引用与System.Net.FtpClient冲突

时间:2015-09-21 10:44:12

标签: c# .net-2.0 project-reference

我有一个旧的C#.NET 2.0应用程序,我需要添加一个FTP客户端(无法通过简单的FtpWebRequest唉),并试图包含来自{{3的System.Net.FtpClient }} 当我输入代码时,此代码自动填充正常:

System.Net.FtpClient.FtpClient client = new System.Net.FtpClient.FtpClient();

但是我收到以下错误:

The type or namespace name FtpClient does not exist in the namespace System.Net

我尝试通过设置项目引用System.Net.FtpClient(ftp而不是global)的别名来修复此问题,然后在顶部输入:

extern alias ftp;

我得到了

The extern alias ftp was not specified in a /reference option

如果我更改为.NET Framework 4.5,似乎我可以解决这个问题,但我的应用程序是SAP Business One的旧插件,从2.0更改为4.5会给我带来数十个其他错误,比如一些sap-classes没有构造函数等,所以很遗憾我不能这样做。还有其他方法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

看起来为此库分发的二进制文件不支持v2.0

查看用于构建项目的批处理文件:https://netftp.codeplex.com/SourceControl/latest#create_codeplex_release.bathttps://netftp.codeplex.com/SourceControl/latest#create_nuget_release.bat

两者都是针对v4构建的

  

组   的msbuild =%SYSTEMROOT%\ Microsoft.NET \框架\ v4.0.30319 \ msbuild.exe

我也尝试在NuGet上安装最旧版本,但它仍然与框架版本2.0冲突。

但幸运的是,他们提供了一个支持v2的项目。下载源代码并打开名为 System.Net.FtpClient.NET2.csproj

的项目

现在您可以使用此项目的输出而不是下载的二进制文件。

希望这有帮助。