Вы используете старый стандарт в разработке C / C ++.Большая разница с управляемым кодом заключается в отсутствии компоновщика.Вы использовали для настройки компоновщика для использования версии библиотеки d в сборке Debug, версии библиотеки d в сборке выпуска.Этот механизм полностью отсутствует в .NET, код в библиотеках динамически связан во время выполнения.Создание практически разных имен для разных сборок значительно меньше.
Одна из проблем, с которой вы столкнетесь, если будете придерживаться этой старой стратегии, состоит в том, что у вас возникнут дополнительные проблемы со ссылочными сборками проекта.Не существует достойного способа использовать разные имена в разных конфигурациях.Зависимые сборки перечислены в узле Reference проекта, это свойство проекта, которое не зависит от конфигурации.Это не невозможно, вам понадобится гораздо больше Condition
хаков для переименования эталонных сборок.Это также может повлиять на проверку зависимостей сборки.
На самом деле в этом нет необходимости, сборка отладки и выпуска сборок будет иметь одинаковые метаданные.Но если вы пропустите это, у вас возникнут проблемы во время выполнения.CLR будет сказано использовать неправильное имя сборки.Обойти это технически возможно, спрятав сборки в подкаталоге и используя событие AppDomain.AssemblyResolve для загрузки правильного.Вам понадобится событие после сборки, чтобы переименовать и скопировать сборку в этот каталог.Все это становится ужасным в спешке, когда эти сборки имеют зависимости от других сборок.
Короче говоря, ваш предыдущий стандарт просто не подходит для управляемого кода.