c# - 如何在控制台上验证 dot net 应用程序配置文件(例如,app.exe.config)?

标签 c# .net vb.net

有没有验证配置文件的工具?

最佳答案

好吧,基本上您的应用程序是验证器 - 如果配置文件无效,您将在启动时遇到异常。除此之外,我不知道对 app.config 文件有任何开箱即用的验证支持。

在您的目录 C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas 中,您会找到一些名为 DotNetConfig.xsd/DotNetConfig20.xsd 的文件 -这些是 Microsoft 提供的 XML 架构文件,您可以轻松地使用它们来验证您可能拥有的任何其他配置文件的有效性。

以编程方式验证配置的基本结构如下所示:

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!");

您现在需要做的是为那些在验证中出现问题时引发的事件提供事件处理程序 - 仅此而已! :-)

关于c# - 如何在控制台上验证 dot net 应用程序配置文件(例如,app.exe.config)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2084154/

相关文章:

.net - 何时使用 .NET 设置与配置 <appsettings>?

c# - 有没有办法在 C#/VB.NET 中伪造继承?

c# - IoC、Dll 引用和程序集扫描

c# - 在 C# 中,是否有开箱即用的方法来构建 3 向查找表?

.net - 三星智能电视应用程序

c# - 如何从生产服务中删除 OData 内部错误

javascript - 使用文本框中键入的字母过滤单选按钮列表

c# - 列序列和 Entity Framework

c# - 是否可以在控制台应用程序的 "main"线程上运行异步回调?

c# - 使用 Can Grow 导出到 Excel 的 Crystal Reports