Ho avuto problemi con queste soluzioni, probabilmente perché le mie costanti iniziali erano pre-costruite da queste proprietà.
<DefineConstants />
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>true</DebugSymbols>
Visual Studio 2010 ha anche generato un errore a causa dei punti e virgola, sostenendo che sono caratteri illegali. Il messaggio di errore mi ha dato un suggerimento in quanto ho potuto vedere le costanti predefinite separate da virgole, seguite alla fine dal mio punto e virgola "illegale". Dopo un po 'di riformattazione e massaggio sono riuscito a trovare una soluzione che funziona per me.
<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>
Vorrei pubblicare uno screenshot della finestra di dialogo Impostazioni avanzate del compilatore (aperta facendo clic sul pulsante "Opzioni di compilazione avanzate ..." nella scheda Compila del progetto). Ma come nuovo utente, mi manca il rappresentante per farlo. Se potessi vedere lo screenshot, vedresti le costanti personalizzate compilate automaticamente dal gruppo di proprietà e quindi diresti: "Devo procurarmene un po '".
EDIT: Ottenuto quel rappresentante sorprendentemente veloce .. Grazie ragazzi! Ecco quello screenshot: