Не может загрузить явный ресурс GetManifestResourceStream ()

Я создал раздел пользовательской конфигурации с помощью XSD. Для парсинга файла конфигурации, который следует этой новой схеме, я загружаю ресурс (мой .xsd файл) с этим:

public partial class MonitoringConfiguration
    {
        public const string ConfigXsd = "MonitoringAPI.Configuration.MonitoringConfiguration.xsd";
        public const string ConfigSchema = "urn:MonitoringConfiguration-1.0";

        private static XmlSchemaSet xmlSchemaSet;

        static MonitoringConfiguration()
        {
            xmlSchemaSet = new XmlSchemaSet();
            Stream xsdStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(ConfigXsd);
            XmlReader schemaReader = XmlReader.Create(xsdStream);
            xmlSchemaSet.Add(ConfigSchema, schemaReader);
        }

    }

По тому, как мой ресурс: MonitoringConfiguration.xsd. И пространство имен другого частичного класса (который представляет код позади .xsd файла) MonitoringAPI.Configuration.

Проблема расположена здесь:

 Stream xsdStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(ConfigXsd);

xsdStream является пустым, таким образом, я предполагаю, что ресурс не может быть найден! Но почему?

Спасибо

47
задан Amokrane Chentir 18 June 2010 в 10:11
поделиться

1 ответ

Имя ресурса всегда:

<Базовое пространство имен>. .

Итак, если ваш ресурс находится в «Resources / Xsd /», а пространство имен вашего проекта по умолчанию - « MonitoringAPI.Configuration », имя ресурса:

« MonitoringAPI.Configuration.Resources.Xsd.MonitoringConfiguration.xsd »

Также убедитесь, что действие сборки для вашего ресурса установлено на« Встроенный ресурс »

94
ответ дан 26 November 2019 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: