Скомпилируйте код, основываясь на том, какую версию Visual Studio вы используете. Net - PullRequest
2 голосов
/ 10 февраля 2020

Есть ли способ определить версию Visual Studio с помощью макроса или кода? (C#)

Я пытаюсь поддерживать репозиторий, кодовая база которого записана в C#, где пользователи используют оба VS2015 / VS2019. До сих пор я нашел различные обходные пути для его поддержки без поддержки нескольких ветвей. Однако мне нужно проверить, какую версию Visual Studio они используют динамически, чтобы им не приходилось определять макрос вручную после загрузки проекта из репозитория. (или изменяя его каждый раз, когда кто-либо, использующий другую версию Visual Studio, изменяет кодовую базу)

Существует _MSC_VER для C / C ++, но я не выяснил, как установить макрос на основе этого числа (если я даже могу использовать его), поскольку условные макросы не работают в C#, как в C / C ++.

В идеале я хотел бы макрос, который может проверять _MSC_VER, например:

#if ( _MSC_VER > 1919 )
//mycode
#endif

В настоящее время мое решение состоит в том, чтобы пользователь вручную определил макрос VS2015 или VS2019, который не является идеальным, например:

#define VS2019
//...
#if (VS2019)
    //code
#endif

Заранее спасибо.

...