У меня есть два решения 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 не распознается как целое число, потому что, если я заменю его на целочисленную константу, ошибка исчезнет.
Есть предложения?