Existe-t-il un moyen de désactiver l'avertissement MSBuild spécifique (par exemple MSB3253) lors de l'exécution de MSBuild à partir de la ligne de commande? Mon script de construction appelle msbuild.exe de la manière suivante:
msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release
J'ai découvert que je peux supprimer les avertissements C # (par exemple CS0618) en utilisant un autre paramètre pour msbuild.exe:
msbuild.exe MySolution.sln /t:Rebuild /p:Configuration=Release /p:NoWarn=0618
Cependant, cette approche ne fonctionne pas pour les avertissements MSBuild. Peut-être qu'il y a une autre propriété magique à définir?
J'utilise .NET 3.5 et VS2008.
J'ai réussi à supprimer le niveau d'avertissement avec /p:WarningLevel=X
msbuild.exe MySolution.sln /t:Rebuild /p:WarningLevel=0 /p:Configuration=Release
^^^^^^^^^^^^^^^^^
Warning
Level Meaning
-------- -------------------------------------------
0 Turns off emission of all warning messages.
1 Displays severe warning messages
2 Displays level 1 warnings plus certain, less-severe warnings, such
as warnings about hiding class members
3 Displays level 2 warnings plus certain, less-severe warnings, such
as warnings about expressions that always evaluate to true or false
4 (the default) Displays all level 3 warnings plus informational warnings
Pour MSB3253, vous pouvez simplement définir dans le fichier de projet (* .csproj) un tel avertissement.
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<!-- some code goes here -->
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
None
</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
<!-- some code goes here -->
</PropertyGroup>
Selon this thread dans le MSDN Forum, les avertissements MSBuild ne peuvent pas être supprimés.
Pour ceux qui recherchent cela maintenant (comme moi): le prochain MSBuild 15.0 (qui sera publié avec Visual Studio 2017, je suppose) va enfin implémenter le /NoWarn
option pour supprimer des avertissements spécifiques (ainsi que /WarnAsError
pour traiter des avertissements spécifiques ou tous les avertissements comme des erreurs).