Теперь, я сейчас не одобряю саморекламу, но в этом случае я надеюсь, что это нормально, так как это звучит актуально для вопроса, и я ничего от этого не получаю.
Недавно я написал пару постов в блоге о том, как настроить таргетинг на несколько сред / машин:
Ориентация на несколько сред и машин - часть 1/2
Ориентация на несколько сред и машин - часть 2/2
Насколько я понимаю, проблема в этом случае заключается в том, как автоматически создать правильный набор файлов без необходимости вручную определять, какие файлы принадлежат какому клиенту / среде. Решение, которое я предлагаю в постах блога, предполагает использование nAnt вместе с некоторыми расширениями, построенными поверх него. nAnt - это версия .NET Ant, инструмента для сборки, который позволяет вам создавать, например, XML-файлы с заданным набором входных файлов, позволяющие, например, создать специальный файл web.config для конкретного клиента.
В следующем разделе appSetting файла web.config, скажем, вы хотите указать другое значение для ключа CustomerName для каждого клиента:
<appSettings>
<add key="CustomerName" value="${CustomerName}"/>
</appSettings>
Вместо указания значения для ключа CustomerName вы определяете свойство с именем CustomerName. Теперь, предполагая, что мы используем nAnt, вы создаете другой файл, специфичный для клиента, со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?>
<target xmlns="http://nant.sf.net/release/0.86-beta1/nant.xsd">
<property name="CustomerName" value="Acme Incorporated"/>
</target>
nAnt может затем объединить эти два файла и автоматически создать файлы, специфичные для клиента / среды.
Решение, которое я рассмотрел, позволяет автоматически создавать файлы среды и компьютера, например, файл web.config, но также позволяет выводить статические файлы, например файлы лицензий или библиотеки, все в зависимости от среды / машины. Вы нацеливаетесь. Я также поставляю пример решения Visual Studio 2010, которое показывает очень простой пример того, как это сделать, и вы можете скачать здесь .
Вы можете, конечно, просто пойти дальше и взглянуть на nAnt , но я подумал, что предоставлю вам возможность использовать мое решение.