Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
1

Откуда система берет отсутствующие ссылки и пакеты?

17.07.2018, 11:43. Показов 718. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!

Скачал я этот форум на ASP NET MVC: https://github.com/YodasMyDad/mvcforum
Открываю решение в VS, куча ошибок. Одна из ошибок, например, указывала что пространство имен System.Web.Mvc не найдено. Открываю один из проектов, а там ссылок раз два и обчелся. Кроме того в каталоге решения отсутствовала папка packages. Я предположил, что не хватает каких-то пакетов. Не знаю почему, но я решил попробовать выполнить пересборку решения. В результате все ошибки пропали, появилась папка packages и куча дополнительных ссылок в проекте:

Откуда система берет отсутствующие ссылки и пакеты?


Причем, ссылки которые помечены иконкой в виде двух черных квадратиков - они были изначально. А ссылки с голубой иконкой появились после пересборки.

Вопросы:
1. Что это за ссылки такие с голубыми иконками?
2. Как система поняла, что нужно где-то (где?) взять какие-то пакеты, поместить их в решение и создать на них ссылки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2018, 11:43
Ответы с готовыми решениями:

Откуда берет дату?
Здравствуйте, я недавно только начал изучать php, и наткнулся на один php файл, точнее плагин на...

Откуда программа берет значение
#include <stdio.h> main(void) { int t=3; { int t=9, q=5; { int f=7; ...

Откуда программа берёт звук?
Здравствуйте. Недавно скачал программу SpectraLab для выявления частот и амплитуд, и у меня...

Откуда функция ПолучитьМакет() берёт параметры?
Здравствуйте, возникла проблема, после выполнения функции Макет = ПолучитьМакет("МойМакет"); в...

7
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
17.07.2018, 12:35 2
Цитата Сообщение от V0fka Посмотреть сообщение
1. Что это за ссылки такие с голубыми иконками?
Зависимости.

Цитата Сообщение от V0fka Посмотреть сообщение
2. Как система поняла, что нужно где-то (где?) взять какие-то пакеты, поместить их в решение и создать на них ссылки?
В проекте есть файл packages.config, в котором перечислены все зависимости (в виде NuGet-пакетов). Специальная утилита (NuGet) вызывается перед сборкой и проверяет какие пакеты в проекте (из перечисленных) есть. Недостающие она (утилита) выкачивает из специального публичного репозитория пакетов и добавляет их содержимое (сборки) в проект.
0
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
17.07.2018, 13:04  [ТС] 3
Цитата Сообщение от Usaga Посмотреть сообщение
Зависимости.
Ссылки с черными квадратиками это же тоже зависимости? В чем между ними разница?

Цитата Сообщение от Usaga Посмотреть сообщение
В проекте есть файл packages.config, в котором перечислены все зависимости (в виде NuGet-пакетов).
Вот проект с которого я делал скриншот: https://github.com/YodasMyDad/... um.Website. Там нету файла packages.config. В решении такой файл есть в каталоге .nuget (https://github.com/YodasMyDad/... ges.config) и в другом проекте MVCForumAutomation (https://github.com/YodasMyDad/... ges.config), но в MVCForum.Website ничего такого нету.

Цитата Сообщение от Usaga Посмотреть сообщение
Специальная утилита (NuGet) вызывается перед сборкой и проверяет какие пакеты в проекте (из перечисленных) есть. Недостающие она (утилита) выкачивает из специального публичного репозитория пакетов и добавляет их содержимое (сборки) в проект.
А можно где-то подробнее про это почитать? Для меня просто это было большое открытие, что можно распространять только исходники без пакетов. Хотелось бы разобраться как это делается.
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
17.07.2018, 13:28 4
А, это же .NET Core / ASP.NET Core.

Там теперь список зависимостей встраивается сразу в *.CSPROJ.

Цитата Сообщение от V0fka Посмотреть сообщение
А можно где-то подробнее про это почитать?
Можно в официальной документации по ASP.NET Core.
1
.NET C#,ASP.NET MVC
Эксперт .NET
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
17.07.2018, 14:06 5
Цитата Сообщение от V0fka Посмотреть сообщение
Что это за ссылки такие с голубыми иконками?
NuGet пакеты.

Цитата Сообщение от V0fka Посмотреть сообщение
Ссылки с черными квадратиками это же тоже зависимости? В чем между ними разница?
Зависимости встроеные в СДК
1
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
17.07.2018, 15:30  [ТС] 6
Usaga, lvlkoo, спасибо за ответы! Короче говоря надо читать про ASP.NET Core?
0
.NET C#,ASP.NET MVC
Эксперт .NET
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
17.07.2018, 17:14 7
V0fka, система пакет-менеджмента это не функция конкретно asp.net core, это глобальный патерн хранения и распространения библиотек, типо репозитория но для уже собраной библиотеки.

Смысл в том, что где-то на сервере хранятся пакеты (обычный dll файл, или список dll файлов), которые по запросу скачиваются и референсятся в ваш проект, и вам не нужно постоянно тоскать эти библиотеки за собой, открыли проект на другом рабочем месете - выкачали набор пакетов и все, работайте дальше.

Nuget - пакетное хранилище от MS.

ASP.NET Core изначально большинство (или по умолчанию все, точно не помню) пакетов подвязывает из Nuget, чтобы было удобнее работать, обновлять итд
0
86 / 13 / 1
Регистрация: 24.05.2010
Сообщений: 590
18.07.2018, 09:30  [ТС] 8
Цитата Сообщение от lvlkoo Посмотреть сообщение
V0fka, система пакет-менеджмента это не функция конкретно asp.net core, это глобальный патерн хранения и распространения библиотек, типо репозитория но для уже собраной библиотеки.
Смысл в том, что где-то на сервере хранятся пакеты (обычный dll файл, или список dll файлов), которые по запросу скачиваются и референсятся в ваш проект, и вам не нужно постоянно тоскать эти библиотеки за собой, открыли проект на другом рабочем месете - выкачали набор пакетов и все, работайте дальше.
Вот где про это почитать можно?
Я создал эту тему, потому что у меня, например, есть пара небольших проектов на ASP NET MVC, в которых сотни мегабайт занимают пакеты, установленные из Nuget, а тут я внезапно обнаружил, что можно как-то распространять исходники без них. Мне это показалось просто офигенной штукой и хотелось бы понять как это можно сделать у себя в ASP NET MVC.
0
18.07.2018, 09:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2018, 09:30
Помогаю со студенческими работами здесь

Откуда cmd берет тайлы букв?
читаю форум, в соседней ветке обсуждают коды нажатия клавиш клавиатуры. подумал, как происходит...

Откуда берет значения функция _msize?
Откуда берет своё значение _msize? Она обращается к какой-то переменной или проходит по выделенной...

Найти, откуда берет путь инсталлятор
добрый день. неправильно снес программу, поудалял файлы с файловой системы. через панель...

Откуда проигрыватель берет обложки альбомов?
когда включаю музыку в проигрывателе то там появляется картинка например этого альбома ,хотелось бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru