ASP.NET 5 MVC 6 - 缺少对 System.Net 的引用/无法 FTP

ASP.NET 5 MVC 6 - Missing Reference to System.Net / Unable to FTP

我是 ASP.NET 5 的新手,我在测试 FTP 过程时遇到问题。我尝试了各种解决方案,例如在 project.json 文件中向两个框架添加依赖项,但我觉得我遗漏了一些关键的东西。我似乎无法使用 ASP.NET 5 找到像样的 FTP 示例,如果您使用 google 作为一个示例,您会发现无穷无尽的 'unable to publish via FTP' 问题。

我的最终目标是从磁盘上的指定位置获取一个文件,特别是数据库备份,然后 FTP 将它传送到我在内部网络上设置的 FTP 服务器。

尽管我已经对依赖项进行了大量测试,但这是我的 project.json 目前的样子:

"dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.Net.Http.Headers": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://localhost:5000",
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": {
      "dependencies": {
        "Microsoft.AspNet.WebApi.Client": "5.2.3"
      },
      "frameworkAssemblies": {
      }
    },
    "dnxcore50": {
      "dependencies": {
      }
    }

这是 C# 代码示例。问题出现在第一行:

    public class FileTransfer
    {
        public static void TestFTP()
        {
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://MY_FTP_ADDRESS");

如果我将鼠标悬停在 FtpWebRequest 上,我会看到一个弹出窗口,表明 FtpWebRequest 在 DNX 4.5.1 中可用,但在 DNX Core 5.0 中不可用,这就是我开始使用的原因project.json 文件中有关依赖关系的解决方案路径。如果我尝试构建解决方案,则会出现以下错误:

Severity Code Description Project File Line Suppression State Error CS0246 The type or namespace name 'FtpWebRequest' could not be found (are you missing a using directive or an assembly reference?) dba_tools.DNX Core 5.0

有人对此问题有可行的解决方案吗?

尝试从您的 project.json 文件中删除以下内容。

,
"dnxcore50": {
  "dependencies": {
  }
}

它不会让你 运行 代码,因为 ASP.NET Core 不支持它。如果您删除 dnxcore50 然后 运行 它,它应该可以正常加载,因为完整的 .NET Framework 支持您尝试执行的操作。