Оффтопик. Изучаем C#

Автор Тема: Оффтопик. Изучаем C#  (Прочитано 244097 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Re: Оффтопик. Изучаем C#
« Ответ #270 : 17-02-2024, 13:47:06 »
Изучаю .Net8. Это сильно кастрированая система, в ней часть старых функций приходится докачивать как nuget пакеты. Вопрос в том, как заставить Студию из этих пакетов вытащить только нужные dll и скопировать в папку плагина? И как заставить программу на компьтерах пользователей находить эти dll в папке плагина (просто положить рядом с основной dll не помогает)? Или может есть еще варианты, как лучше передавать пользователям эти nuget?

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Re: Оффтопик. Изучаем C#
« Ответ #271 : 17-02-2024, 15:49:03 »
как заставить Студию из этих пакетов вытащить только нужные dll и скопировать в папку плагина?
Насколько я знаю никак
как заставить программу на компьтерах пользователей находить эти dll в папке плагина (просто положить рядом с основной dll не помогает)?
AssemblyResolve или ее альтернативы, которые на форуме болтались - это если говорить про ACAD-дополнения.
Или может есть еще варианты, как лучше передавать пользователям эти nuget?
NuGet имеет смысл, как мне кажется, только для разработчика. Пользователям инсталлер подавай ;)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Re: Оффтопик. Изучаем C#
« Ответ #272 : 17-02-2024, 17:08:36 »
Спасибо. Я наивно надеялся, что MS придумали эти странные пакеты, чтоб они сами ставились у пользователей по первому обращению. Я даже заметил, что Студия создает странный скрипт (json) с перечислением пакетов в папке рядом с dll. Но чуда не свершилось и скрипт этот не запускается  :(
Значит буду подбирать методом тыка какие dll нужны ( уж больно их там много в каждом пакете)... Вот жеж придумали MS геморрой...
« Последнее редактирование: 16-03-2024, 13:27:46 от avc »

Оффлайн Валерий Ивлев

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Re: Оффтопик. Изучаем C#
« Ответ #273 : 21-10-2024, 09:12:28 »
Доброго времени суток.
Прошу совета опытных специалистов.
Как лучше организовать хранение CSV файлов с исходными данными для дальнейшего использования в C# AutoCAD плагинах:
1 Для автоматической записи в bundle.
2 Для автоматической записи в проект на GitHub.
3 Планируется что CSV могут меняться в процессе работы пользователем.

Оффлайн avc

  • ADN Club
  • *****
  • Сообщений: 822
  • Карма: 166
    • Мои плагины к Автокаду
Re: Оффтопик. Изучаем C#
« Ответ #274 : 21-10-2024, 09:23:12 »
Цитировать
1 Для автоматической записи в bundle.
Раз файл поставляется с плагином внутри bundle, то там и хранить его можно. Там же куда компилируются dll плагина. В bundle обычное есть подпапка  Contents\Resources - вот хорошее место.

Оффлайн Валерий Ивлев

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Re: Оффтопик. Изучаем C#
« Ответ #275 : 22-10-2024, 08:47:56 »
Спасибо за ответ.
Для автоматизации копирования dll в bundle и Resources использовал Properties\Post-build event command line:

xcopy /Y "$(TargetPath)" "%AppData%\Autodesk\ApplicationPlugins\XXX.bundle\Contents\"
xcopy /E /I /Y "$(ProjectDir)Resources" "$(TargetDir)Resources"
xcopy /E /I /Y "$(ProjectDir)Resources" "%AppData%\Autodesk\ApplicationPlugins\XXX.bundle\Contents\Resources"
xcopy /Y "$(TargetPath)" "c:\Autodesk\C#\XXX.bundle\Contents\"
xcopy /E /I /Y "$(ProjectDir)Resources" "c:\Autodesk\C#\XXX.bundle\Contents\Resources"

1 строка обновляет dll в рабочей папке bundle
2, 3 строки обновляют папку Resources в каталоге сборки и в рабочей папки bundle
4, 5 строки обновляют проект для локального хранилища

Папка Resources залетает на GitHub автоматически
« Последнее редактирование: 22-10-2024, 11:50:01 от Валерий Ивлев »