与 System.Net.FtpClient 的引用冲突

Reference conflict with System.Net.FtpClient

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

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

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

两者都是针对 v4 构建的

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

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

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

的项目

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

希望对您有所帮助。