Cette question est posée à titre d'intérêt. Je travaille avec une bibliothèque tierce et je suis tombé sur la documentation suivante sur une CMS.Security.Dummy
classe :
NE PAS SUPPRIMER CETTE CLASSE - Cette classe empêche le compilateur de de supprimer l'espace de nom entier sous .NET 4.0.
Quelqu'un sait-il, ou peut-il spéculer sur la raison pour laquelle .NET 4 supprimerait l'espace de nom si la classe factice était supprimée ?
Comme .NET 4 est explicitement nommé dans le commentaire du code source, je suppose que les versions précédentes de C# ont un comportement qui ne nécessite pas cette classe factice. Mais c'est purement spéculatif.
Capture d'écran
Code source décompilé
#region Assembly CMS.SettingsProvider.dll, v4.0.30319
// ...\solution\wwwroot\Bin\CMS.SettingsProvider.dll
#endregion
using System;
namespace CMS.Security
{
// Summary:
// DO NOT DELETE THIS CLASS - This class prevents the compiler from dropping
// entire namespace under .NET 4.0.
public class Dummy
{
// Summary:
// DO NOT DELETE THIS CLASS - This class prevents the compiler from dropping
// entire namespace under .NET 4.0.
public Dummy();
}
}