我有2个.config文件必须配置。一个是web.config
,另一个是app.config
,这两个文件都来自我们代码运行的第三方供应商。所以我们需要对它进行调整,以便看到我们的代码。从安装程序更新第三方的.config转换
我的计划是使用xslt获取我们的.config文件并将其合并到第三方文件中。
我已经看到了一些关于如何用msbuild来做这种事情的例子,但是由于我们现场正在做,我们将不得不使用安装程序来做到这一点。任何帮助,将不胜感激。
例子: 我们开始接触:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<gcServer enabled="true"/>
</runtime>
</configuration>
自定义栏目
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="productName" type="company.productName, company, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" />
</configSections>
<productName defaultProvider="Provider1">
<providers>
<clear />
<add name="Provider1" type="Company.Product.Authentication.Provider1, Company.Product, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" hostName="localhost:5555" />
<add name="Provider2" type="Company.Product.Authentication.Provider2, Company.Product, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" hostName="demo.example.com" />
</providers>
</productName>
</configuration>
,结束时用:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="productName" type="company.productName, company, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" />
</configSections>
<productName defaultProvider="Provider1">
<providers>
<clear />
<add name="Provider1" type="Company.Product.Authentication.Provider1, Company.Product, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" hostName="localhost:5555" />
<add name="Provider2" type="Company.Product.Authentication.Provider2, Company.Product, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d9072a6c5128d57c" hostName="demo.example.com" />
</providers>
</productName>
<runtime>
<gcServer enabled="true"/>
</runtime>
</configuration>
转换只是为了将一个'配置'的子项复制到另一个中吗? – 2011-04-05 15:48:34
@Alejandro:这是正确的,检查它是否存在,如果没有添加它。如果是这样,就让它独自一人。 – 2011-04-05 18:19:32
这不是我写的。你需要弄清楚“检查它是否存在”和“放弃它”的含义。 – 2011-04-05 18:23:33