Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > .NET: Общие вопросы > Зависимости в Net


Автор: nash 15.02.19, 18:34
Создаю библиотеку NetStandard, добавляю туда пакет System.Data.SqlClient(4.6.0).
Всё компилируется, но эта зависимость не переезжает в папку Bin\Debug.

Создаю консольное приложение, например, на Net4.7.1,
добавляю ссылку на проект NetStandard,

Запускаю debug и на вызове метода из библиотеки NetStandard студия пишет, что не найдена System.Data.SqlClient(4.5.0).

Вопросы:
- как собирать библиотеки NetStandard со всеми зависимостями в одну папку?
- почему даже студия не подхватила корректно зависимости?

Автор: Wound 16.02.19, 09:19
Попробуй Publish сделать. Или Публикация, в зависимости от локали студии.

Автор: nash 16.02.19, 14:33
почему-то не добавляются Nuget-пакеты в каталоги сборки и публикации.
почему так происходит? как приложения распространять?

если что, в VS2017 есть в контекстном меню преобразовать проект до ProgectReference в файле проекта.
типа ссылки на Nuget пакеты обрабатывает msbuild.
потом начинает как-то искать библиотеки.

Автор: nash 20.02.19, 20:04
я не понимаю, как шаманить надо, был и был dll hell, хотели от него избавиться, но появилось еще больше hell.
roslyng, видимо, внес свою лепту.
проекты не запускаются даже в студии под дебагом.
куда всё это идёт.

Автор: Wound 21.02.19, 07:37
Цитата nash @
почему-то не добавляются Nuget-пакеты в каталоги сборки и публикации.
почему так происходит? как приложения распространять?

Ну попробуй прямо командой <nuget имя пакета> выкачать пакеты. Если бы у тебя пакеты не выкачивались - у тебя ничего бы не собралось. Если собирает, значит пакеты выкачались.
Для того чтобы сделать приложение со всеми пакетами - тебе нужно опубликовать его.

Там ты указываешь каталог, куда будут помещены бинарники. Далее все твои библиотеки вместе с зависимостями копируются в этот каталог.
Я не понимаю что у тебя конкретно не получается?


Цитата nash @
проекты не запускаются даже в студии под дебагом.
куда всё это идёт.

Компилируются, но не запускаются? Какую ошибку при этом пишет? Это слишком размытый вопрос. Однозначно ответить в чем конкретно у тебя проблема - сложно.
Может быть у тебя какие то компоненты для .Net core отсуствуют? Может быть студия слетела? Библиотеки слетели? Может ты что то не так делаешь? Может ты что то недоустановил?

Создай обычное консольное приложение .net core, и попробуй его опубликовать:

Вот берешь выделяешь свой проект, потом жмешь правой кнопкой мыши по нему и выбираешь Publish:
publish_example.jpg (, : 416)

Автор: Wound 21.02.19, 07:47
Потом переходим в папку, видим наше приложение. Если бы были другие зависимости, они оказались бы в этой папке. А так проект пустой, зависимостей нет. Видим нашу сборку только.
publish_location.jpg (, : 389)

Автор: nash 21.02.19, 12:43
да, конечно, всё это делал.
конкретно, хотел T4 хелпер написать для генерации модели БД.
ну и вот, то одно, то другое.
хостинг приложение VS, и вот не получается сгрузить все зависимости в Winlibrary или NetStadartLibrary.
с учетом того, что модель генерится в виде строки в Razor.
вышел из положения созданием консольной утилиты, вывод которой направлен в dll, которая в T4 подключена.
такой велосипед.
это сделал давно, сейчас просто переписал генерацию с EntityFrameworkCore на System.Data.SqlClient в NetStandart.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)