Сбой XMLSChemaSet.Add в Visual studio 2017

У меня есть следующий код, который отлично работает с Visual Studio 2010,

string path = @"Path_to_XML.xml";
FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);


XmlReaderSettings settings = new XmlReaderSettings
{
          ValidationType = ValidationType.Schema
};

 settings.Schemas.Add(@"REQUIRED_NAMESPACE",
                      @"REQUIREDSCHEMA.xsd");

Но при использовании с Visual Studio 2017 не удается добавить схему; то есть. Сбои в строке,

settings.Schemas.Add(...)

с нижеследующим исключением,

$ exception {"Неверный параметр. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)))"} System.ArgumentException

в System.Security.Policy.PEFileEvidenceFactory.GetLocationEvidence(SafePEFileHandle peFile, SecurityZone& zone, StringHandleOnStack retUrl) в System.Security.Policy.PEFileEvidenceFactory.GenerateLecation.Policy.AssemblyEvidenceFactory.GenerateEvidence(Тип доказательства Type) в System.Security.Policy.Evidence.GenerateHostEvidence(Тип тип, логический hostCanGenerate) в System.Security.Policy.Evidence.GetHostEvidenceNoLock(тип Type в типе. At Тип.) GetHostEvidence(тип Type, Boolean markDelayEvaluatedEvidenceUsed) в System.Security.Policy.AppDomainEvidenceFactory.GenerateEvidence(Тип доказательства Type) в System.Security.Policy.Evidence.GenerateHostEvidence(Тип.Бул. Тип type) в System.Security.Policy.Evidence.RawEvidenceEnumerator.MoveNext() в System.Security.Policy.Evidence.EvidenceEnumerator.MoveNext() в System.Configuration.ClientConfigPaths.GetEvidenceInfo(AppDomain appDomain, строка exePath, String& typeName) в System.Configuration.ClientConfigPaths.GetTypeAndHashSuffix(сценарий приложения-класса., Boolean includeUserConfig) в System.Configuration.ClientConfigPaths.GetPaths(String exePath, Boolean includeUserConfig) в System.Configuration.ClientConfigurationHost.RequireCompleteInit(запись IInternalConfigRecord) getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) в System.Configuration.BaseConfigurationRecord.GetSection(String configKey) в System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSunction.et.Sec.GetSection(String sectionName) в System.Xml.XmlConfiguration.XmlReaderSection.get_ProhibitDefaultUrlResolver() в System.Xml.Schema.Parser..ctor(SchemaType schemaType, XmlNameTable nameTable, SchemaNames schemaNameSlayMax.HameShellSacheE.SeventSlaySignSignSystemShell.Hell) в качестве объекта.ParseSchema(String targetNamespace, читатель XmlReader) в System.Xml.Schema.XmlSchemaSet.Add(String targetNamespace, String schemaUri)

Как решить эту проблему?

Примечание. Единственное отличие, которое я вижу, заключается в том, что System.XML.dll ссылается на.Net 4.6.2 в VS 2017, а в VS 2010 - на.Net 4.0.

0 ответов

Другие вопросы по тегам