Поделиться через


Использование программы Publicize для создания закрытых методов доступа

Обновлен: Ноябрь 2007

Программа командной строки publicize.exe используется для создания сборки, содержащей открытые типы. Эти типы упаковывают все закрытые типы во вторую сборку. Программа publicize используется для создания модульных тестов, работающих с закрытыми типами.

Созданная сборка также известна как закрытый метод доступа. Закрытые методы доступа можно создавать в среде IDE, однако в сценариях автоматизации и построения необходимо использовать программу publicize.exe.

Программа Publicize не поддерживает делегаты или события

Тестируемая сборка должна содержать различные виды закрытых или внешних типов. При выполнении publicize.exe и передаче имени сборки создается закрытый метод доступа. Созданный закрытый метод доступа содержит код, обеспечивающий тестовому коду доступ к закрытым типам в сборке. Однако он не предоставляет доступ к закрытым или внутренним делегатам или событиям.

Использование средства Publicize.exe

Для работы с publicize.exe сначала нужно открыть командную строку Visual Studio 2008. Для этого нажмите кнопку Пуск, последовательно выберите Все программы, Microsoft Visual Studio 9.0, Набор средств Visual Studio и выберите пункт Командная строка Visual Studio 2008. Используйте следующий синтаксис:

Publicize.exe [параметры] входная_сборка

Эта команда создает оболочку для всех закрытых типов, представленных в сборке входная_сборка.

Параметры

Данная команда имеет следующие параметры: /target, /delaysign и /keyfile. Эти параметры описаны в следующих разделах.

/target

Синтаксис: Publicize.exe /target:[значение] входная сборка

Параметр /target предписывает построение созданной сборки для выполнения на определенной платформе. Далее перечислены возможные значения параметра /target.

  • Desktop: создает стандартный закрытый метод доступа к среде CLR. "Desktop" является значением по умолчанию для параметра target:.

  • WebSite: создает закрытый метод доступа, совместимый с веб-узлом.

    Bb514191.alert_note(ru-ru,VS.90).gifПримечание.

    Параметр "WebSite" используется только для тестирования кода на веб-узле, созданном в Visual Studio при выборе в меню Файл пункта Веб-узел.

  • Device: создает закрытый метод доступа, совместимый с интеллектуальными устройствами.

/delaysign

Синтаксис: Publicize.exe /delaysign входная_сборка

Параметр /delaysign используется, чтобы указать, что сборка в настоящее время подписана не будет. В выходной сборке резервируется место, в которое позднее можно поместить цифровую подпись.

Использование параметра /delaysign позволяет продолжить тестирование после выполнения publicize.exe. Поскольку используется временный маркер открытого ключа, сборку можно подписать позднее.

Параметр /delaysign должен использоваться вместе с параметром /keyfile. Файл, указанный с помощью параметра /keyfile должен содержать открытый ключ; наличие закрытого ключа является необязательным.

/delaysign также является параметром компилятора .NET. Дополнительные сведения см. в разделах Создание и использование сборок со строгими именами и Отложенная подпись сборки.

/keyfile

Синтаксис: Publicize.exe /keyfile<файл_ключа> входная_сборка

Параметр /keyfile используется для подписания сборки при выполнении publicize.exe. Термин <файл_ключа> используется для указания имени существующего файла, содержащего ключ шифрования. Термин <файл_ключа> может содержать абсолютный или относительный путь к файлу ключа.

Использование параметра /keyfile дает возможность также использовать параметр /delaysign. Если параметр /keyfile используется без параметра /delaysign, файл, указанный с помощью /keyfile, должен содержать как открытый, так и закрытый ключ.

/keyfile также является параметром компилятора .NET. Дополнительные сведения см. в разделе Создание и использование сборок со строгими именами.

Примеры

Следующая команда создает стандартный закрытый метод доступа к рабочему столу для Myassembly.dll.

Publicize.exe myassembly.dll

Следующая команда создает закрытый метод доступа для веб-узла MyWebSite.

Publicize.exe /target:WebSite myassemby.dll

Следующая команда создает стандартный закрытый метод доступа для сборки со строгим именем Myassembly.dll, но подписание откладывается на потом.

Publicize.exe /delaysign /keyfile<FileWithPublicKey.snk> myassembly.dll

Следующая команда создает закрытый метод доступа для использования при тестировании приложения, построенного для выполнения в интеллектуальном устройстве.

Publicize.exe /target:device /keyfile<FileWithKeys.snk> myassembly.dll

См. также

Задачи

Практическое руководство. Тестирование закрытых методов

Основные понятия

Использование закрытых методов доступа