У меня есть 2 файла .config, которые необходимо настроить. Один из них - web.config
, а другой - app.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>