Подтвердить что ты не робот

Ссылка на библиотеку в ASP.NET Core 1.0 (vNext)

Я изучаю ASP.NET Core 1.0 (vNext). Имея это в виду, у меня есть решение, которое структурировано следующим образом:

MySolution
  src
    MyLibrary
      MyClass.cs
      project.json
    MyWebSite
      Startup.cs
      project.json

Я успешно компилирую MyLibrary из командной строки с помощью dnu build. Я запустил dnu pack, который сгенерировал MyLibrary.1.0.0.nupkg. Существуют также две папки: dnx451 и dnxcore50, которые содержат MyLibrary.1.0.0.dll. Я хочу использовать MyLibrary в MyWebSite, однако я запутался.

  • Как мне включить MyLibrary в MyWebSite? Могу ли я вручную скопировать файл .dll? Если да, то какой? Должен ли я использовать файл nupkg вместо этого? Это частная сборка, я не хочу публиковать ее по всему миру через NuGet.
  • Что мне помещать в MyWebSite/project.json для ссылки на сборку MyLibrary?
4b9b3361

Ответ 1

Вам не нужно публиковать пакет в NuGet, если вы не хотите делиться им с другими людьми/проектами вне вашего решения. Вы можете просто ссылаться на пакет непосредственно из источника.

Однако, если это не работает для вас, у вас есть три варианта:

Ответ 2

Используете ли вы Visual Studio 2015 RC? Если это так, выполните следующие действия:

  • Разверните свой веб-проект в обозревателе решений
  • Щелкните правой кнопкой мыши Ссылки
  • Нажмите Добавить ссылку... из контекстного меню
  • Выберите Проекты из Справочного менеджера
  • Установите флажок рядом с MyLibrary
  • Нажмите ОК
  • Profit

Если вы не используете визуальную студию, это может быть достигнуто путем обновления файла project.json в вашем веб-проекте.

Если вы создали проект библиотеки классов vNext, добавьте его в свойство зависимостей объекта json:

"dependencies": {
      "MyLibrary": "1.0.0-*"
   }

Ответ 3

  • Несколько вопросов выделены жирным шрифтом.

(Как мне включить MyLibrary в MyWebSite?) В MyWebSite/project.json: Добавьте ссылку как это (не беспокойтесь о том, что номер версии не отображается). Add VS2015RC class library reference

(Могу ли я вручную скопировать файл .dll?)

Нет

(Это частная сборка, я не хочу публиковать ее по всему миру через NuGet.)

Тогда не делайте этого:)

Обращаясь к вашей библиотеке классов из вашего веб-приложения, убедитесь, что она включена при создании веб-приложения. Затем вы должны скопировать файлы веб-приложений на сервер приложений, способный его запустить. Я думаю, вы должны попытаться опубликовать свое веб-приложение в веб-приложении Azure, а затем использовать проводник сервера, чтобы посмотреть, как выглядят файлы на сервере после публикации. Или вы уже знаете, что нет оснований делать пакет, прежде чем использовать его в своем веб-приложении?