Yapılandırma dosyasını doğrulamak için herhangi bir araç var mı?Konsolda nokta net uygulama yapılandırma dosyasını (ex, app.exe.config) nasıl doğrulayabilirim?
cevap
Temel olarak uygulamanız doğrulayıcıdır - yapılandırma dosyası geçerli değilse, başlatma sırasında bir istisna alırsınız. Bunun dışında, app.config dosyaları için herhangi bir kullanıma hazır olmayan doğrulama desteğinin farkında değilim.
C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas
dizininizde, DotNetConfig.xsd/DotNetConfig20.xsd
adında bazı dosyalar bulacaksınız - bunlar, Microsoft tarafından sağlanan XML şema dosyalarıdır; bunlar, geçerlilik için sahip olabileceğiniz diğer yapılandırma dosyalarını doğrulamak için kolayca kullanabilirsiniz. programlı şekilde yapılandırmaları doğrulamak için
temel yapısı böyle bir şey olurdu:
using(StreamReader xsdReader = new StreamReader(xsdFileName))
{
XmlSchema Schema = new XmlSchema();
Schema = XmlSchema.Read(xsdReader, new ValidationEventHandler(XSDValidationEventHandler));
XmlReaderSettings ReaderSettings = new XmlReaderSettings();
ReaderSettings.ValidationType = ValidationType.Schema;
ReaderSettings.Schemas.Add(Schema);
ReaderSettings.ValidationEventHandler += new ValidationEventHandler(XMLValidationEventHandler);
using(XmlTextReader xmlReader = new XmlTextReader(xmlFileName))
{
XmlReader objXmlReader = XmlReader.Create(xmlReader, ReaderSettings);
while (objXmlReader.Read())
{ }
}
}
Console.WriteLine("Successful validation completed!");
Şimdi ne yapmak gerekir doğrulamasında şeyler yanlış gittiğinde kaldırdı olsun bu olay için tedarik olay işleyicileri - yani var hakkında! :-)
Çok eski bir soru ama burada aynı soru vardı ve benim kurulumu (yukarı .net framework 3.5 ve) 'dir:
: Bir konsol projesi adı 'ConfigurationValidator' yarattıstatic void Main(string[] args) { try { string xsdFileName = ConfigurationManager.AppSettings["configXsdPath"]; string xmlFileName = args[0]; XmlSchemaSet schemas = new XmlSchemaSet(); schemas.Add(null, xsdFileName); XDocument doc = XDocument.Load(xmlFileName); string validationMessage = string.Empty; doc.Validate(schemas, (sender, e) => { validationMessage += e.Message + Environment.NewLine; }); if (validationMessage == string.Empty) { Console.WriteLine("CONFIG FILE IS VALID"); } else { Console.WriteLine("CONFIG FILE IS INVALID : {0}", validationMessage); } } catch(Exception ex) { Console.WriteLine("EXCEPTION VALIDATING CONFIG FILE : {0}", ex.Message); } }
ve aşağıdaki app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="configXsdPath" value="C:\Program Files (x86)\Microsoft Visual Studio 11.0\Xml\Schemas\DotNetConfig35.xsd"/>
</appSettings>
</configuration>
.210 örneğin sonrası build olay komut eklemek çözümün her proje için
doğrulama başarısız olursa, aşağıdaki gibi bir çıktı alıyorum:
- 1. Yükleme sırasında .NET yapılandırma dosyaları nasıl değiştirilir?
- 2. Yapılandırma komut dosyasını nasıl oluştururum?
- 3. Moq Korumalı Metodu nasıl doğrulayabilirim/doğrulayabilirim?
- 4. PowerShell'de nokta kaynaklı komut dosyasını nasıl kaldırabilirim?
- 5. Konsolda
- 6. Yapılandırma verileri için log4net uygulama yapılandırma dosyası kullanıldı
- 7. Tüm uygulama verilerini kaydetmek ve geri yüklemek için .NET yapılandırma dosyaları (app.config, settings.settings) nasıl kullanılır?
- 8. Laravel Uygulama Yapılandırma sorunları
- 9. Vi: "ex giriş modu"
- 10. Bir yapılandırma dosyasını Powershell komut dosyalarına nasıl tanıtabilirim?
- 11. Tüm yapılandırma dosyasını şifreleyebilir miyiz?
- 12. Nokta dosyalarımda hangi IntelliJ yapılandırma dosyalarını kaydetmeliyim?
- 13. .Net için bir yapılandırma dosyası nasıl eklenir
- 14. Bu ADFS belirtecini nasıl doğrulayabilirim?
- 15. yapılandırma dosyasını scala jar dosyasına geçirme
- 16. Flask uygulama dosyasını bulamıyor
- 17. Bir Windows Hizmetinin çalışıp çalışmadığını nasıl doğrulayabilirim?
- 18. .Net çerçeve 2.0 Yapılandırma Aracı
- 19. Gunicorn'un yapılandırma kodlarına uygulama kodundan nasıl erişilir?
- 20. C# uygulama yapılandırma dosyası nasıl kullanılır?
- 21. CSS dosyasını JavaFX WebView'e uygulama
- 22. .NET uygulamasında C++ DLL dosyasını nasıl ekleyebilirim?
- 23. bash betiğini kullanarak yapılandırma dosyasını değiştir
- 24. .NET 2/3 uygulama .NET 4
- 25. Git - yapılandırma dosyasını kaldırın ve dışarıda bırakın
- 26. Bir Visual Studio Paketi'nde yapılandırma dosyasını değiştirme
- 27. Belirtilen düğümdeki CHM dosyasını açma TOC (.NET)
- 28. .NET Uygulama Yükleme Optimizasyonları
- 29. Script Dili /. NET Uygulama
- 30. .NET Çekirdek Uygulama