【问题标题】:Reference conflict with System.Net.FtpClient与 System.Net.FtpClient 的引用冲突
【发布时间】:2015-09-21 10:44:11
【问题描述】:

我有一个旧的 C# .NET 2.0 应用程序,我需要添加一个 FTP 客户端(不能使用简单的FtpWebRequest 唉)并尝试包含来自https://netftp.codeplex.com/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 而不是全局)然后在顶部键入来解决此问题:

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

【问题讨论】:

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


    【解决方案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\Framework\v4.0.30319\msbuild.exe

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

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

    的项目

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

    希望这会有所帮助。

    【讨论】:

    • 谢谢。下载了.net2-source,现在它就像一个魅力:-)
    猜你喜欢
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多