Windows应用程序与配置文件

news/2024/7/2 0:57:35
 
Windows 应用程序与配置文件
         为每个应用程序提供一个配置文件已经不是什么新鲜的想法了,在早期的Windows中,许多程序通常都提供一个扩展名为“.ini”或“.dat”之类的物件以定制化程序或为应用程序提供扩展描述。Microsoft公布.NET框架后,基于Windows的exe文件有了一定的微妙的变化,这就是每个exe文件在.NET框架下匹配了一个“Config”文件,就是说,如果可执行文件的文件名是“AppName.exe”,那么,.NET会自动识别与之匹配的配置文件“AppName.exe.config”,这种扩展名为“.Config”的文件是一个XML文件。一个典型的配置文件如下:
< configuration >
  < appSettings >
  appSettings>
 < runtime >
    < assemblyBinding xmlns = "urn:schemas-microsoft-com:asm.v1">
      < probing privatePath = "bin;usercontrol;component;doctemplate">
      probing>
    assemblyBinding>
  runtime>
 
 < Tangram MainAssemblyLib = "TangramDeskManager"
           MainAssemblyCategory = "TangramDeskManager"
           MainFrameAssembly = "TangramDeskManager.Application"
           ExternalAppCOMComponent = ""
           ExternalAppAssembly = ""
           WorkSpaceGUID = "{9905F281-9C5D-440b-89AF-EE61D3FA548A}"
           Tag = "officexp">
    < Caption > Welcome To Tangram World! Caption>
    < WorkSpace RunModel = ""> WorkSpace>
    < Background Type = "html">background.htm Background>
    < Registry Key = "TangramDesigner"StdProfileSettings="4"> Registry>
    < Skin > Merlin ENI/Merlin ENI.uis Skin>
    < VBAComponent > DocVbaServer.VbaServer.1 VBAComponent>
    < MDITabbedClient Tag = "">TangramDeskManager.MDIClientImpl.1 MDITabbedClient>
    < TangramToolBarID > TangramBarManager.BarManager.1 TangramToolBarID>
    < TangramControlBarID > TangramLiteControlBarD.TangramLiteBar.1 TangramControlBarID>
    < AppPlugin >
     
    AppPlugin>
  Tangram>
configuration>
在.NET环境下,有一组API专门处理这类配置文件,而且,典型的.NET应用,例如Asp.net的宿主环境的关键配置对配置文件的依赖性极大,可以说,配置文件在局部意义上相当于一个“局部”注册表。针对.NET程序而言,由于.NET组件不需要再注册表中注册,因此,一个.NET程序如何搜索到一个具体的组件就显得十分重要,在配置文件中,包含如下节点:
 < runtime >
    < assemblyBinding xmlns = "urn:schemas-microsoft-com:asm.v1">
      < probing privatePath = "bin;usercontrol;component;doctemplate">
      probing>
    assemblyBinding>
  runtime>
在这个节点中,可以得到“ privatePath = "bin;usercontrol;component;doctemplate"”,这个字符串是用“;”分割的一系列“子目录”名,按照.NET框架的实现,如果开发者在所开发的程序所在的目录下创建这个字符串标示的每个子目录,那么,当这个程序需要.NET组件时,就会在这些“本地”目录中寻找。
         事实上,即使与.NET相对无关的Win32或Win64程序也可以充分利用这个默认的配置文件,这样做的好处是,当你的系统需要.NET支持时,可以自然的利用.NET提供的“好处”,我们会在以后的文章中介绍如何开发一个真正的Win32程序,使得在需要的时候,这类Win32程序可以支持.NET组件,典型的这类Win32系统是Microsoft Internet Explorer以及Microsoft Office等应用系统,这类系统的基础框架都是Win32的,但均可以宿主.NET引擎。 此外,应用XML读写技术,这类配置文件可以使得应用系统与Windows系统的注册表隔离以减轻注册表的负担,同时也为所谓的“绿色软件”提供良好的支持。
 



http://www.niftyadmin.cn/n/3656129.html

相关文章

springboot 多个数据库配置

文章目录一、pom文件依赖二、yaml文件配置三、代码实现1、main函数配置2、创建mongodb工厂3、主数据源配置4、副数据源配置5、工具封装6、使用四、踩的坑1、MongoClientURI找不到2、找不到mongoTemplate一、pom文件依赖 <dependency><groupId>org.springframework…

为什么你的软件需要IDE特征?

为什么你的软件需要IDE特征&#xff1f;IDE&#xff0c;就是Integrated Development Environment的缩写&#xff0c;一般而言&#xff0c;只有软件开发工具或设计工具才具备IDE特征&#xff0c;之所以如此的原因之一也许是因为开发IDE特征的技术工作比较繁杂。现代应用软件由于…

mongodb 删除字段

使用springboot mongodb工具&#xff0c;删除多余字段。 1、pom文件依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2、代码实现 topping、toppi…

关于Tangram的可视化设计支持

关于Tangram的可视化设计支持Tangram开源版本是Tangram系列中“最小”的版本&#xff0c;在这个版本中包含了Tangram的最基本的功能点&#xff0c;即软件UI框架的可视化设计。通常&#xff0c;软件开发者都是通过Coding的方式进行软件的框架设计&#xff0c;给定一个如下的UI框…

asList remove异常原因分析

使用Arrays.asList后&#xff0c;调用remove异常问题记录。 // 第一种String str "第一个,第二个,第三个,第四个,";List<String> list Arrays.asList(str.split(","));list.remove(1);// 第二种List<String> list2 new ArrayList<>()…

Microsoft Visual Basic for Application技术概要

Microsoft Visual Basic for Application技术概要众所周知&#xff0c;Visual Basic系列产品在Microsoft的产品线中占有非常独特的位置&#xff0c;从IE&#xff0c;到Office&#xff0c;乃至Visual Studio系列产品中总要配备一个基于Visual Basic的描述引擎以便进行功能扩展。…

mongodb 多表关联查询

需求 mongodb库中有三张表&#xff0c;需求&#xff1a;查询表A中的数据&#xff0c;但这些数据的threadId字段&#xff0c;不能存在于表B和表C中&#xff0c;做一个过滤查询&#xff0c;需要分页和排序。 mongodb 命令实现 {"aggregate": "__collection__&q…

WPF,一次洗牌……

WPF,一次洗牌……昨天&#xff0c;在CSDN上看一篇孟岩的文章&#xff0c;谈及WPF带来的震撼&#xff0c;其实&#xff0c;WPF对今天的开发者来讲&#xff0c;已经不是很新的概念了&#xff0c;在MSN里&#xff0c;也与部分朋友交流对WPF的看法。最早体验WPF&#xff0c;也许是在…