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


Практическое руководство. Доступ к ресурсам во вспомогательных библиотеках DLL.

Надстройки Visual Studio выступан сопоставления в Visual Studio 2013. Необходимо обновить для надстройки с расширениями VSPackage. Дополнительные сведения об обновлении см. в разделе Часто задаваемые вопросы. Преобразование надстроек в расширения VSPackage.

После создания вспомогательной библиотеки DLL и добавления в нее ресурсов (значки, растровые изображения, строки ресурсов и т.д.) они становятся доступными для надстроек и других проектов автоматизации. В следующей процедуре показано, как это сделать.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Эти процедуры были разработаны с обычными параметрами разработки.Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров.Для получения дополнительной информации см. Настройка параметров разработки в Visual Studio.

Доступ к ресурсам вспомогательной библиотеки DLL

  1. Откройте Visual Studio и загрузите существующий проект надстройки или создайте новый.

  2. Добавьте следующий пример кода, скомпилируйте и выполните его.

Пример

Далее показан общий алгоритм, используемый Visual Studio для поиска вспомогательной библиотеки DLL. При помощи этого кода можно проверить правильность построения вспомогательной библиотеки DLL, ее положения, а также существование требуемого имени ресурса.

static void Main(string[] args)
{
    string path = @"<some path here>";
    System.Reflection.Assembly asm =    
    System.Reflection.Assembly.LoadFrom(path);
    // For enhanced security, use the LoadFrom overload 
    // System.Reflection.Assembly.LoadFrom(path, securityInfo);
    // where securityInfo is an instance of an Evidence object.
    System.Reflection.Assembly assemblyForResources = 
    asm.GetSatelliteAssembly(System.Threading.
    Thread.CurrentThread.CurrentCulture);
    System.IO.Stream stream =    
    assemblyForResources.GetManifestResourceStream
    (assemblyForResources.GetManifestResourceNames()[0]);
    ResourceReader resReader = new ResourceReader(stream);
    foreach (System.Collections.DictionaryEntry entry in resReader)
    {
        System.Windows.Forms.MessageBox.Show(entry.Key.ToString());
    }
}

Компиляция кода

Чтобы использовать этот пример, создайте консольное приложение Visual C#, добавьте данный код на место функции Main(), и задайте в переменной пути путь к сборке надстройки (не путь к вспомогательной сборке DLL). После выполнения во вспомогательной библиотеке DLL можно будет увидеть доступные ресурсы.

См. также

Задачи

Пошаговое руководство. Создание управляемых вспомогательных библиотек DLL