Разница между ссылками и зависимостями в Visual Studio 2017 - PullRequest
0 голосов
/ 02 февраля 2019

Когда я создаю новое веб-приложение ASP.NET в Visual Studio 2017, я получаю обозреватель решений, содержащий элемент References.

Когда я создаю новое базовое веб-приложение ASP.NET в Visual Studio 2017, я получаю обозреватель решений, содержащий элемент Dependencies,Кроме того, в этой ситуации NuGet не создал локальную папку packages.

Почему такая разница?Возможно ли иметь такой же элемент Dependencies с решением для веб-приложений ASP.Net?

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Разница в отображении:

Вид ваших проектов в обозревателе решений зависит от формата их .csproj файла.В старом формате (xml 2003 или аналогичном) у вас есть поддерево References, в котором отображаются все ссылки на проекты, зависимости от пакетов, ссылки на системные рамки и сторонние библиотеки.

В новом форматеу вас есть поддерево Dependencies, которое, в свою очередь, имеет поддерево для каждого различного типа зависимости.

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

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

Пакеты NuGet:

Разница в использовании и восстановлении ваших пакетов NuGet заключается в следующем.В старом формате по умолчанию используется конфигурация packages.config, что означает, что каждый проект содержит все необходимые пакеты в локальном кэше.С другой стороны, в новом формате по умолчанию используется конфигурация Package Reference, где все пакеты в решении восстанавливаются в центральный кеш в каталоге пользователя (обычно это %user%/.nuget/packages).

0 голосов
/ 03 февраля 2019

Почему эта разница?

Они в основном ничем не отличаются, они используются для хранения и управления ссылками.Как сказал Лекс, Зависимости - это лучший способ представления различных типов ссылок, мы можем четко знать, откуда берется ссылка, SDK, nuget и т. Д., Чтобы мы могли более эффективно управлять нашими ссылками.

См. Информацию из Введение в ASP.NET Core :

ASP.NET Core - это редизайн ASP.NET 4.x с изменениями архитектурыв результате получается более компактная и модульная структура.

.

Возможно ли иметь такой же элемент зависимостей в решении веб-приложения ASP.Net?

Поскольку на GitHub по-прежнему существует множество открытых вопросов, касающихся поддержки нового формата csproj для приложений ASP.NET (не-Core).Мы не могли изменить веб-приложение ASP.Net на новый тип проекта, у нас не могло быть того же элемента зависимостей с веб-приложением ASP.Net.

Но если вам интересно, вы можете проверить эту ветку о том, как конвертировать в новый тип проекта.

Надеюсь, это поможет.

...