Контекст: проект c# (. net 3.5) предоставлен в распоряжение группы разработчиков, которые строят проект на разных платформах (Win, Ma c, et c). Проекту требуется доступ к некоторым ссылочным DLL-файлам, но в зависимости от платформы сборки devs они находятся в разных местах.
Хотя разработчики, очевидно, могут добавлять свои собственные ссылочные пути или просто копировать в папку dependencies
и т. д. c., это немного тяжело.
Кроме того, это проект с открытым исходным кодом, который получает довольно большой вклад от случайных разработчиков, и мы хотим сделать начальную сборку как Для них это безболезненно.
Итак, для Windows dev сред мы создали группу свойств, которая проверяет файлы в нескольких местах (даже до проверки реестра) и результаты выскакивает в $(ManagedDllPath)
свойство. Это меньше, чем делать при выполнении клона репо fre sh, и разработчики это ценят.
Теперь наши разработчики Ma c и Linux тоже этого хотят; очевидно, у них разные пути к папкам.
В идеале я хочу иметь одну группу свойств для каждой платформы (Win, Ma c, Linux) с условием, подобным следующему:
<PropertyGroup Condition="'$(DevPlatform)' == 'Win'">
// determine reference dll location
</PropertyGroup>
<PropertyGroup Condition="'$(DevPlatform)' == 'Mac'">
// determine reference dll location
</PropertyGroup>
<PropertyGroup Condition="'$(DevPlatform)' == 'Linux'">
// determine reference dll location
</PropertyGroup>
Как я могу получить имя ОС для платформы dev?
<DevPlatform> ??? </DevPlatform>
Мы используем VS2019 или Rider IDE. Мы застряли на. Net Framework 3.5: /