Только что начал изучать основные приложения .NET, и есть кое-что, что я не могу себе представить: как приложение, опубликованное как переносимое (развертывание фреймворка), получает свои зависимости от NuGet?
При публикации приложения (простого консольного приложения) папка вывода получает следующее:
- Любая DLL из зависимых проектов, входящих в одно и то же решение
- DLL из самого консольного приложения (запускается с помощью команды dotnet)
- Пара файлов JSON (зависимости и конфиги времени выполнения)
- runtime.dev с некоторым путем, жестко запрограммированным в локальном кеш-памяти моего пользователя.
Так что для запуска этого приложения у меня просто dotnet appname.dll и все хорошо локально. Но если я попытаюсь запустить его в другом месте, он не сможет найти какие-либо зависимости NuGet DLL, которые были включены в приложение.
У меня вопрос такой:
Как пользователь такого приложения должен использовать это?
Есть ли важные шаги, которые я здесь упускаю?
Нам нужна установка Framework, так как в конечном итоге она должна будет работать и на Linux, поэтому о создании exe не может быть и речи. Мы бы предпочли оставить это для локальной установки ядра .NET на целевой машине, а не предварительно сгенерировать все возможные цели заранее.