0

我有一个旧的 C# .NET 2.0 应用程序,我需要添加一个 FTP 客户端(不能用简单的FtpWebRequest唉)并尝试包含System.Net.FtpClient来自https://netftp.codeplex.com/的 代码自动完成就好了我输入它:

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 而不是全局)来解决此问题,然后在顶部键入:

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 类有一个构造函数等,所以不幸的是我不能这样做。有没有其他方法可以让它工作?

4

1 回答 1

1

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

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

两者都是针对 v4 构建的

设置 msbuild=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

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

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

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

希望这可以帮助。

于 2015-09-21T12:08:32.447 回答