Информация об изменениях

Сообщение Re[14]: скопировать в outputdir фал xml документации от 12.12.2022 14:12

Изменено 12.12.2022 14:18 Sinclair

Re[14]: скопировать в outputdir фал xml документации
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>1) Из плюсового репа libgit2 они сабмодулем тянут исходники.

НС>2) Батником собирают эти исходники под разные таргеты
НС>3) Делают из этого nupkg, где сборки под разный рантайм разложены по папочкам
НС>4) Референсят этот nupkg уже в managed проекте (libgit2sharp), а там есть специальные таски для формирования таргетов (https://github.com/libgit2/libgit2sharp/tree/master/Targets).
В указанной папочке про нативные DLL ничего нету - ну, кроме динамического добавления в исходники проекта файла NativeDllName.g.cs c таким кодом:
namespace LibGit2Sharp.Core
{
  internal static class NativeDllName  
  {  
    public const string Name = "$(libgit2_filename)"; // надо полагать, что libgit2_filename генерируется какой-то магией заранее. 
  }
}



НС>>>Все что есть имелось в виду под все таргеты, а не писать условия когда что копировать.

S>>Простите, я не понимаю эту фразу. Что такое "под все таргеты"?

НС>Это значит что в твоем nupkg должна быть папочка runtime в котором сложены dll/so под все поддерживаемые платформы, а выбор нужной либы будет делать рантам дотнета уже после запуска приложения.

У меня пока что нету nupkg
А когда будет, то dll/so в него не войдут — они используются только в рамках тестов и бенчмарков.

Поэтому всё это очень интересно, но я по-прежнему не понимаю, как решить мою проблему.
Re[14]: скопировать в outputdir фал xml документации
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>1) Из плюсового репа libgit2 они сабмодулем тянут исходники.

НС>2) Батником собирают эти исходники под разные таргеты
НС>3) Делают из этого nupkg, где сборки под разный рантайм разложены по папочкам
НС>4) Референсят этот nupkg уже в managed проекте (libgit2sharp), а там есть специальные таски для формирования таргетов (https://github.com/libgit2/libgit2sharp/tree/master/Targets).
В указанной папочке про нативные DLL ничего нету — ну, кроме динамического добавления в исходники проекта файла NativeDllName.g.cs c таким кодом:
namespace LibGit2Sharp.Core
{
  internal static class NativeDllName  
  {  
    public const string Name = "$(libgit2_filename)"; // надо полагать, что libgit2_filename генерируется какой-то магией заранее. 
  }
}



НС>>>Все что есть имелось в виду под все таргеты, а не писать условия когда что копировать.

S>>Простите, я не понимаю эту фразу. Что такое "под все таргеты"?

НС>Это значит что в твоем nupkg должна быть папочка runtime в котором сложены dll/so под все поддерживаемые платформы, а выбор нужной либы будет делать рантам дотнета уже после запуска приложения.

У меня пока что нету nupkg
А когда будет, то dll/so в него не войдут — они используются только в рамках тестов и бенчмарков.

Поэтому всё это очень интересно, но я по-прежнему не понимаю, как решить мою проблему.