Интегрированное веб-развертывание в Visual Studio 2010 довольно приятно.Он может создать пакет, готовый для развертывания с помощью MSDeploy на целевой машине IIS.Проблема в том, что этот пакет будет перераспределен на клиент, который сам установит его с помощью «Импортировать приложение» из IIS, когда установлен MSDeploy.
Созданный пакет по умолчанию всегда включает полный путь от компьютера разработчика ».D: \ Dev \ XXX \ obj \ Debug \ Package \ PackageTmp "в файле исходного манифеста.Конечно, это не мешает установке, так как он был спроектирован таким образом, но в диалоге импорта выглядит безобразно и не имеет никакого значения для клиента.Хуже того, ему будет интересно узнать, что это за пути, и это выглядит довольно странно.
Настроив файл .csproj (добавив свойства MSBuild, используемые в задаче создания пакета), мне удалось добавить в пакет дополнительные параметры.Тем не менее я провел большую часть дня в Web.Publishing.targets длиной 2600 строк, пытаясь понять, какой параметр влияет на поведение «пути разработки», напрасно.Я также пытался использовать setAcl для настройки безопасности в определенной папке после развертывания, но мне удалось сделать это только с помощью MSBuild, указав относительный путь ... хотя это не имеет значения, если я решу первую проблему.
Я мог бы изменить сгенерированный архив после его создания, но я бы предпочел, чтобы все было автоматизировано с использованием MSBuild.Кто-нибудь знает, как это сделать?