C# - connaître le mode de compilation utilisé

Contenu du snippet

A la suite de l'article posté ici :
- http://blogs.developpeur.org/fabrice69/archive/2006/02/01/17041.aspx

Et sur les commentaires recus, j'ai cherché comment savoir si une DLL (ou un EXE) .NET est compilée en mode Debug ou Release.
Après de nombreuses recherches, je suis tombé sur ce post :
- http://msmvps.com/blogs/bill/archive/2004/06/17/8339.aspx

Qui donne la méthode en VB.NET. J'ai donc adapté cette méthode pour le C#.

Source / Exemple :


using System.IO;
using System.Reflection;
using System.Diagnostics;

.....

/// <summary>
/// Fonction qui vérifie si le fichier chargé est compilé en mode Debug
/// </summary>
/// <param name="CheminFichierAssemblyATester">Chemin d'accès vers le fichier</param>
/// <returns>Vrai ou faux</returns>
private bool TestModeCompile(string CheminFichierAssemblyATester)
{
	bool retour = false;
	Assembly Lassembly = null;

	try
	{
		Lassembly = Assembly.LoadFile(CheminFichierAssemblyATester);
		foreach (object att in  Lassembly.GetCustomAttributes(false))
		{
			if (att.GetType()== typeof(System.Diagnostics.DebuggableAttribute))
			{
				retour = ((System.Diagnostics.DebuggableAttribute)att).IsJITTrackingEnabled;
				break;
			}
		}
	}
	catch
	{
		retour = false;
	}
	finally
	{
		Lassembly = null;
	}
	return retour;
}

.....

Conclusion :


Bon coding.

Romelard Fabrice

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.