ASP.NET 5 MVC 6 - отсутствует ссылка на System.Net/невозможно подключиться к FTP

Я новичок в ASP.NET 5, и у меня возникают проблемы с тестированием процесса FTP. Я пробовал различные решения, такие как добавление зависимостей к обеим платформам в файле project.json, но у меня такое чувство, что я упускаю что-то важное. Кажется, я не могу найти достойный пример FTP с использованием ASP.NET 5, и если вы погуглите его, вы найдете бесконечное море проблем «невозможно опубликовать через 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. Если я попытаюсь построить решение, произойдет следующая ошибка:

Код серьезности Описание Ошибка состояния подавления строки файла проекта CS0246 Не удалось найти тип или имя пространства имен «FtpWebRequest» (вы пропустили директиву using или ссылку на сборку?) dba_tools.DNX Core 5.0

У кого-нибудь есть жизнеспособные решения этой проблемы?


person Jacob Barnes    schedule 07.04.2016    source источник


Ответы (1)


Попробуйте удалить следующее из файла project.json.

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

Это не позволит вам запустить код, поскольку он не поддерживается в ASP.NET Core. Если вы удалите dnxcore50, а затем запустите его, он должен нормально загрузиться, поскольку то, что вы пытаетесь сделать, поддерживается полной версией .NET Framework.

person amrinea    schedule 07.04.2016
comment
Это сработало отлично, большое спасибо. Я предположил, что если бы зависимости dnxcore50 были пустыми, все бы скомпилировалось и работало нормально. Это было плохим предположением. Я ценю вашу помощь! - person Jacob Barnes; 07.04.2016