Ссылка на библиотеку в 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
?
Ответы
Ответ 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, а затем использовать проводник сервера, чтобы посмотреть, как выглядят файлы на сервере после публикации. Или вы уже знаете, что нет оснований делать пакет, прежде чем использовать его в своем веб-приложении?