Procedimiento para crear una herramienta para obtener el nombre completo de un ensamblado

Última modificación: martes, 06 de julio de 2010

Hace referencia a: SharePoint Foundation 2010

Los proyectos de desarrollo de SharePoint Foundation generalmente implican una combinación de código y marcado XML. Con frecuencia se agrega el nombre de cuatro partes completo del nuevo ensamblado a un archivo del proyecto, como un archivo de configuración XML. Si el proyecto de Visual Studio se basa en alguna de las plantillas de proyecto de SharePoint 2010 en Visual Studio, puede simplemente insertar el token $SharePoint.Project.AssemblyFullName$ donde debería ir el nombre completo del ensamblado en la mayoría de los tipos de archivos del proyecto (pero no los archivos .cs o .vb u otros archivos compilables). Al crear e implementar el proyecto, Visual Studio reemplazará el token por el nombre completo del ensamblado en las copias de los archivos que de hecho se implementan. (Para obtener más información acerca del uso de tokens de Visual Studio orientados a SharePoint, vea Parámetros reemplazables).

No obstante, en algunos casos puede ser necesario insertar el nombre completo del ensamblado en un tipo de archivo que no admite los tokens de Visual Studio. También hay situaciones en las que no se usa una de las plantillas de proyecto de SharePoint 2010. Por ejemplo, algunas extensiones de funcionalidad administrativa de SharePoint implican solo una aplicación de consola de Microsoft .NET Framework normal. En estas situaciones, deberá conocer el nombre completo del ensamblado real. En este tema se explica cómo crear una herramienta de línea de comandos que obtenga el nombre completo de cualquier ensamblado y cómo agregar la herramienta como elemento en el menú Herramientas de Visual Studio para poder usarla para obtener el nombre completo de un ensamblado en desarrollo.

Para crear una herramienta de línea de comandos que obtenga el nombre completo de un ensamblado

  1. Para abrir Visual Studio como administrador, haga clic con el botón secundario en el programa en el menú Inicio y seleccione Ejecutar como administrador.

  2. Cree un nuevo proyecto de aplicación de consola. En el cuadro de diálogo Nuevo proyecto, seleccione Visual C# o Visual Basic, a continuación, seleccione Windows y elija la plantilla Aplicación de consola. Asigne el nombre "GetAssemblyName" a la aplicación. A continuación, haga clic en Aceptar.

  3. Reemplace todo el contenido del archivo Program.cs (o Program.vb) por uno de los ejemplos siguientes (según el lenguaje de programación).

    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. Compile la aplicación y pruébela.

  5. Cuando esté satisfecho porque la herramienta funciona correctamente, copie el archivo ejecutable a una carpeta permanente de su equipo.

Para agregar un elemento de obtención de nombre completo de ensamblado en el menú Herramientas

  1. En Visual Studio, seleccione Herramientas externas en el menú Herramientas.

  2. En el cuadro de diálogo Herramientas externas, haga clic en Agregar y escriba Get Assembly Full Name en Título.

  3. Para completar el cuadro de texto Comando, explore o navegue hasta llegar al archivo GetAssemblyName.exe.

  4. En el cuadro de texto Argumentos, escriba lo siguiente (distingue mayúsculas y minúsculas): $(TargetPath)

  5. Active la casilla Usar ventana de resultados.

  6. Haga clic en Aceptar. El nuevo comando se agrega al menú Herramientas.

Cuando necesite el nombre de cuatro partes del ensamblado que está desarrollando, haga clic en el comando Get Assembly Full Name en el menú Herramientas y el nombre aparecerá en la ventana Resultados.

Nota

Dado que el nombre completo del ensamblado incluye el token de clave pública que no existe hasta que el ensamblado se compila por primera vez, deberá compilar el proyecto antes de usar la herramienta.

Vea también

Conceptos

Procedimiento para crear una herramienta para obtener la clave pública de un ensamblado