Практическое руководство. Создание инструмента для получения полного имени сборки
Дата последнего изменения: 6 июля 2010 г.
Применимо к: SharePoint Foundation 2010
Проекты разработки SharePoint Foundation часто включают в себя сочетание кода и разметки XML. Часто в файл проекта, например, XML-файл конфигурации, добавляется полное имя новой сборки, состоящее из четырех частей. Если проект Visual Studio основан только на шаблонах проекта SharePoint 2010 в Visual Studio, можно просто вставить маркер $SharePoint.Project.AssemblyFullName$, где полное имя сборки должно присутствовать в большинстве файлов проекта (но не в файлах с расширением CS, VB или других компилируемых файлах). При построении или развертывании проекта в Visual Studio этот маркер заменяется полным именем сборки в фактически развертываемых копиях файлов. (Дополнительные сведения об использовании специализированных маркеров Visual Studio для SharePoint см. в статье Заменяемые параметры.)
В некоторых случаях может потребоваться вставка полного имени сборки в тип файла, который не поддерживает маркеры Visual Studio. Также возможны ситуации, в которых не используются шаблоны проекта SharePoint 2010. Например, некоторые расширения административных функций SharePoint включают в себя только обычное консольное приложение Microsoft .NET Framework. В этих ситуациях требуется знать фактическое полное имя сборки. В этом разделе рассматривается создание программы командной строки, которая получает полное имя любой сборки, и добавление этой программы в качестве элемента в меню Сервис Visual Studio, чтобы можно было использовать ее для получения полного имени разрабатываемой сборки.
Создание программы командной строки и получение полного имени сборки
Откройте Visual Studio как администратор, щелкнув программу правой кнопкой мыши в меню Пуск и выбрав Запуск от имени администратора.
Создайте новый проект консольного приложения. В диалоговом окне Создание проекта выберите Visual C# или Visual Basic, далее нажмите Windows, а затем выберите шаблон Консольное приложение. Назовите приложение "GetAssemblyName" и нажмите кнопку ОК.
Замените все содержимое файла Program.cs (или Program.vb) одним из следующих примеров (в зависимости от языка программирования).
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
Скомпилируйте и протестируйте приложение.
Убедившись, что программа работает правильно, скопируйте исполняемый файл в постоянную папку на компьютере.
Добавление элемента "Получить полное имя сборки" в меню "Сервис"
В Visual Studio выберите Внешние инструменты в меню Сервис.
В диалоговом окне Внешние инструменты выберите Добавить и введите Получить полное имя сборки в поле Заголовок.
Заполните текстовое поле Команда путем к файлу GetAssemblyName.exe.
В текстовом поле Аргументы введите следующее (с учетом регистра) $(TargetPath).
Установите флажок Использовать окно вывода.
Нажмите кнопку ОК. Новая команда добавляется в меню Сервис.
Когда потребуется состоящее из четырех частей имя разрабатываемой сборки, нажмите команду Получить полное имя сборки в меню Сервис, и имя появится в окне вывода.
Примечание |
---|
Поскольку полное имя сборки включает маркер открытого ключа, который не существует до тех пор, пока сборка не будет скомпилирована в первый раз, перед использованием этого инструмента требуется скомпилировать сборку. |
См. также
Концепции
Практическое руководство. Создание инструмента для получения открытого ключа сборки