Сбой 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.