У нас есть большое решение VS 2010, которое в основном является кодом С#, но есть несколько родных DLL, от которых зависят различные проекты С# (включая нашу модульную DLL). Мы работаем над обработкой поддержки 32-разрядных и 64-разрядных версий наших библиотек. Итак, теперь мы создаем собственные DLL как 32-битные и 64-разрядные. Проблема в том, что многие наши проекты С# имеют события после сборки, которые копируют необходимые библиотеки DLL в проект TargetDir. Теперь, когда у нас есть две разные версии родных DLL (32 и 64 бит), мне нужно указать правильный каталог для копирования родной DLL. Первоначально я думал, что могу просто использовать $(Platform) в пути следующим образом:
copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir)
Но это не работает, потому что $(платформа) - это платформа проекта, а не платформа уровня решения. В этом случае $(Платформа) есть "Любой процессор". Из того, что я вижу, глядя на макросы события после сборки в проекте С#, похоже, нет способа получить доступ к платформе уровня решения, которая строится. Есть ли лучший способ достичь моей цели?