У меня были проблемы с этими решениями, возможно, потому, что мои начальные константы были предварительно созданы этими свойствами.
<DefineConstants />
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>true</DebugSymbols>
Visual Studio 2010 также выдает ошибку из-за точек с запятой, утверждая, что они являются недопустимыми символами. Сообщение об ошибке дало мне подсказку, так как я мог видеть предварительно созданные константы, разделенные запятыми, за которыми в конце концов следовала моя «нелегальная» точка с запятой. После некоторого переформатирования и массирования я смог найти решение, которое работает для меня.
<PropertyGroup>
<!-- Adding a custom constant will auto-magically append a comma and space to the pre-built constants. -->
<!-- Move the comma delimiter to the end of each constant and remove the trailing comma when we're done. -->
<DefineConstants Condition=" !$(DefineConstants.Contains(', NET')) ">$(DefineConstants)$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", "")), </DefineConstants>
<DefineConstants Condition=" $(DefineConstants.Contains(', NET')) ">$(DefineConstants.Remove($(DefineConstants.LastIndexOf(", NET"))))$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", "")), </DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.Replace('v', '')) >= 2.0 ">$(DefineConstants)NET_20_OR_GREATER, </DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.Replace('v', '')) >= 3.5 ">$(DefineConstants)NET_35_OR_GREATER</DefineConstants>
<DefineConstants Condition=" $(DefineConstants.EndsWith(', ')) ">$(DefineConstants.Remove($(DefineConstants.LastIndexOf(", "))))</DefineConstants>
</PropertyGroup>
Я бы опубликовал снимок экрана с диалоговым окном «Дополнительные параметры компилятора» (открывается при нажатии кнопки «Дополнительные параметры компиляции ...» на вкладке «Компиляция» вашего проекта). Но, как новый пользователь, мне не хватает представителя, чтобы сделать это. Если бы вы могли видеть скриншот, вы бы увидели пользовательские константы, автоматически заполненные группой свойств, а затем сказали бы: «Мне нужно кое-что из этого».
РЕДАКТИРОВАТЬ: Получил этот представитель на удивление быстро .. Спасибо, ребята! Вот этот скриншот: