J'ai eu des problèmes avec ces solutions, peut-être parce que mes constantes initiales étaient préconstruites par ces propriétés.
<DefineConstants />
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>true</DebugSymbols>
Visual Studio 2010 a également généré une erreur à cause des points-virgules, affirmant qu'il s'agit de caractères illégaux. Le message d'erreur m'a donné un indice car je pouvais voir les constantes préconstruites séparées par des virgules, suivies éventuellement de mon point-virgule "illégal". Après quelques reformatages et manipulations, j'ai pu trouver une solution qui fonctionne pour moi.
<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>
Je posterais bien une capture d'écran de la boîte de dialogue Advanced Compiler Settings (ouverte en cliquant sur le bouton "Advanced Compile Options..." dans l'onglet Compile de votre projet). Mais en tant que nouvel utilisateur, je n'ai pas la réputation de le faire. Si vous pouviez voir la capture d'écran, vous verriez les constantes personnalisées remplies automatiquement par le groupe de propriétés et vous diriez alors "Il faut que je me procure un peu de ça".
EDIT : J'ai eu ce représentant étonnamment vite Merci les gars ! Voici la capture d'écran :
1 votes
Duplicata possible de Est-il possible de compiler conditionnellement à la version de .NET Framework ?
0 votes
Si vous voulez une solution simple et pré-cuite dans VS, veuillez voter pour cette voix d'utilisateur, visualstudio.uservoice.com/forums/121579-visual-studio/ .
1 votes
Jetez également un coup d'œil à ce lien. Assez explicatif. blogs.msmvps.com/punitganshani/2015/06/21/
0 votes
Groupes de projets, groupes nuget restore et groupes nuget ref, belle solution : shazwazza.com/post/