2010-01-20 2 views
1

Мое приложение ссылается на другой проект, в котором есть файл XSD.C# лучший способ захватить xsd из проекта, на который ссылается

Каков наилучший способ получить этот XSD?

Я сделал несколько поисковых запросов и нашел предложения, как загрузить сборку и получить ее от этого, нет ли более простого способа?

ответ

2

Если XSD является встроенным ресурсом в сборке, вам необходимо получить его из сборки.

Если ваш проект ссылается и использует сборку, вам не нужно будет загружать его снова (вам не потребуется 2 копии в памяти).

Самый простой способ добраться до сборки, было бы одного из типов, определенных в нем:

Type t = typeof(TypeInOtherAssembly); 
Assembly assembly = t.Assembly; 
assembly.GetManifestResourceStream(...); 
+0

Использование этого для модульного тестирования и проверки XML, который производит мой проект. Принял много попыток поиска различных терминов, чтобы найти этот совет! Благодарю. – bovender

0

Если вы добавили XSD в качестве ресурса, то самый простой способ это сделать авто -генерированный Properties.Resources класс общедоступен и ссылается на автогенерируемое свойство. Вы также можете сохранить Properties.Resources внутри и добавить атрибут InternalsVisibleTo, чтобы ваша другая сборка имела доступ.

Помимо этого подхода, вы можете использовать GetManifestResourceStream на целевой сборке для извлечения информации XSD.

Смежные вопросы