Partager via


Procédure : créer un outil pour obtenir le nom complet d'un assembly

Dernière modification : mardi 6 juillet 2010

S’applique à : SharePoint Foundation 2010

Les projets de développement de SharePoint Foundation impliquent souvent une combinaison de code et de balises XML. Souvent, vous ajouterez le nom complet à quatre composantes de votre nouvel assembly à un fichier projet, tel qu’un fichier de configuration XML. Si votre projet Visual Studio repose sur l’un des modèles de projet SharePoint 2010 dans Visual Studio, vous pouvez simplement insérer le jeton $SharePoint.Project.AssemblyFullName$ là où doit se trouver le nom complet de l’assembly dans la plupart des types de fichiers projet (mais pas dans les fichiers .cs, .vb ou autres fichiers compilables). Lorsque vous générez et déployez le projet, Visual Studio remplace le jeton par le nom complet de l’assembly dans les copies des fichiers effectivement déployés. (Pour plus d’informations sur l’utilisation de jetons Visual Studio orientés SharePoint, voir Paramètres remplaçables.)

Dans certains cas, toutefois, vous pouvez être amené à insérer le nom complet de l’assembly dans un type de fichier qui ne prend pas en charge les jetons Visual Studio. Il existe également des situations dans lesquelles vous n’utilisez pas l’un des modèles de projet SharePoint 2010. Par exemple, certaines extensions des fonctionnalités administratives de SharePoint impliquent uniquement une application console Microsoft .NET Framework ordinaire. Dans ces situations, vous devez connaître le nom d’assembly complet réel. Cette rubrique explique comment créer un outil en ligne de commande qui permet d’obtenir le nom complet d’un assembly quelconque, et comment ajouter l’outil en tant qu’élément dans le menu Outils de Visual Studio de façon que vous puissiez l’utiliser pour obtenir le nom complet d’un assembly que vous développez.

Pour créer un outil en ligne de commande Visual Studio qui récupère un nom complet d'assembly

  1. Ouvrez Visual Studio en tant qu'administrateur en cliquant avec le bouton droit du programme dans le menu Démarrer et sélectionnez Exécuter en tant qu'administrateur.

  2. Créez un projet d'application console. Dans la boîte de dialogue Nouveau projet, sélectionnez Visual C# ou Visual Basic, puis Windows et choisissez le modèle Application console. Nommez l'application « GetAssemblyName ». Puis cliquez sur OK.

  3. Remplacez le contenu intégral du fichier Program.cs (or Program.vb) par l'un des exemples suivants (en fonction de langage de programmation).

    using System;
    using System.Reflection;
    using System.IO;
    
    namespace GetAssemblyName
    {
        class Program
        {
            static void PrintUsage()
            {
                Console.WriteLine("Usage: GetAssemblyName.exe <path and filename>\n");
                Console.WriteLine(@"Example: GetAssemblyName.exe C:\MyAssembly.dll");
                Console.Read();
            }
    
            static void Main(string[] args)
            {
                if (args.Length < 1 || args[0] == "?")
                {
                    PrintUsage();
                    return;
                }
    
                string filename = args[0];
    
                try
                {
                    AssemblyName an = AssemblyName.GetAssemblyName(filename);
                    Console.WriteLine("Fully specified assembly name:\n");
                    Console.WriteLine(an.ToString());
                }
                catch (FileNotFoundException)
                {
                    Console.WriteLine("Cannot locate the assembly. Check the path and try again.");
                }
    
                Console.Read();
            }
        }
    }
    
    Imports System
    Imports System.IO
    Imports System.Reflection
    
    Module Module1
    
        Sub PrintUsage()
            Console.WriteLine("Usage: GetAssemblyName.exe <path and filename>" + vbCrLf)
            Console.WriteLine("Example: GetAssemblyName.exe C:\MyAssembly.dll")
            Console.Read()
        End Sub
    
        Sub Main(ByVal cmdArgs() As String)
    
            If cmdArgs.Length = 0 OrElse cmdArgs(0) = "?" Then
                PrintUsage()
                Return
            End If
    
            Dim filename As String = cmdArgs(0)
    
            Try
                Dim an As AssemblyName = AssemblyName.GetAssemblyName(filename)
                Console.WriteLine("Fully specified assembly name:" + vbCrLf)
                Console.WriteLine(an.ToString())
            Catch
                Console.WriteLine("Cannot locate the assembly. Check the path and try again.")
            End Try
    
            Console.Read()
        End Sub
    
    
    End Module
    
  4. Compilez l'application et testez-la.

  5. Une fois que vous êtes satisfait du fonctionnement de l'outil, copiez l'exécutable dans un dossier permanent de votre ordinateur.

Pour ajouter un élément Get Assembly Full Name (obtenir le nom complet de l'assembly) au menu Outils

  1. Dans Visual Studio, sélectionnez Outils externes dans le menu Outils.

  2. Dans la boîte de dialogue Outils externes, cliquez sur Ajouter, puis tapez Get Assembly Full Name pour le Titre.

  3. Complétez la zone de texte Commande en accédant à GetAssemblyName.exe.

  4. Dans la zone de texte Arguments, tapez le texte suivant (en respectant la casse) : $(TargetPath)

  5. Activez la case à cocher Utiliser la fenêtre de résultat.

  6. Cliquez sur OK. La nouvelle commande est ajoutée au menu Outils.

Chaque fois que vous avez besoin du nom en quatre parties de l'assembly que vous développez, cliquez sur la commande Get Assembly Full Name du menu Outils et le nom apparaîtra dans la fenêtre Sortie.

Notes

Étant donné que le jeton de clé publique qui se trouve dans le nom d’assembly complet n’est généré qu’au terme de la première compilation de l’assembly, vous devez compiler le projet avant d’utiliser l’outil.

Voir aussi

Concepts

Procédure : créer un outil pour obtenir la clé publique d'un assembly