Проверьте версию Visual Studio в директиве препроцессора Wix - PullRequest
0 голосов
/ 30 марта 2020

У меня есть два решения Visual Studio, одно для 2017 года и одно для 2019 года, которые оба используют один и тот же код, за исключением того, что решение 2019 года включает в себя проект. NET Core 3.1. . NET Core 3.1 не поддерживается в Visual Studio 2017, поэтому он исключен.

У меня также есть проект Wix для установки моего продукта. Я хочу включить встроенную DLL-библиотеку проекта. NET Core 3.1, если проект Wix построен в Visual Studio 2019 или более поздней версии, в противном случае - нет, поскольку их не будет. Проект Wix одинаков для обоих решений. Доступна ли в настоящее время используемая версия Visual Studio в файле wxs?

Я знаю, что _MSC_VER - это предопределенный макрос (в соответствии с https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019) для кода C / C ++, но я не Не знаю, можно ли это использовать в C# или Wix XML.

. Я попытался сделать следующее:

<?define msc_version=_MSC_VER?>

<?if $(var.msc_version) >= 1920?>
  …
<?endif?>

Но это дает мне следующую ошибку:

An illegal number was found in the expression '$(var.msc_version) >= 1920'. 

Я предполагаю, что причина ошибки в том, что _MSC_VER не распознается как целое число, потому что, если я заменю его на целочисленную константу, ошибка исчезнет.

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...