Практическое руководство. Доступ к ресурсам во вспомогательных библиотеках DLL.
Надстройки Visual Studio выступан сопоставления в Visual Studio 2013. Необходимо обновить для надстройки с расширениями VSPackage. Дополнительные сведения об обновлении см. в разделе Часто задаваемые вопросы. Преобразование надстроек в расширения VSPackage.
После создания вспомогательной библиотеки DLL и добавления в нее ресурсов (значки, растровые изображения, строки ресурсов и т.д.) они становятся доступными для надстроек и других проектов автоматизации. В следующей процедуре показано, как это сделать.
Примечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Эти процедуры были разработаны с обычными параметрами разработки.Чтобы изменить настройки, в меню Сервис выберите команду Импорт и экспортпараметров.Для получения дополнительной информации см. Настройка параметров разработки в Visual Studio.
Доступ к ресурсам вспомогательной библиотеки DLL
Откройте Visual Studio и загрузите существующий проект надстройки или создайте новый.
Добавьте следующий пример кода, скомпилируйте и выполните его.
Пример
Далее показан общий алгоритм, используемый 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