У меня есть определение сборки TFS со следующей информацией в разделе Process -> Advanced -> MSBuild Arguments: (в этом посте значения [] в скобках для безопасности опущены)
/p:DeployOnBuild=True
/p:MSDeployPublishMethod=RemoteAgent
/p:MSDeployServiceUrl=[URL]
/p:DeployIisAppPath=[IISPATH]
/p:UserName=[USERNAME]
/p:Password=[PASSWORD]
/p:CreatePackageOnPublish=True
/p:DeployTarget=MSDeployPublish
/p:Configuration=Development
Вот проблема, которая у меня есть.В моем веб-проекте настроено много конфигураций, и одна из них - это конфигурация разработки.Если я оставлю «/ p: Configuration = Development» и соберу проект, который затем автоматически развертывается в нашей среде разработки, преобразование web.config будет неправильным.Он заменяет мою строку данных соединения информацией из другой конфигурации.
Если я верну "/ p: Configuration = Development" обратно в список аргументов MSBuild и открою файл web.config в VS2010 во время процесса сборкиПри первом изменении файла web.config вне моей IDE я вижу, что соответствующее преобразование web.config было выполнено в соответствии с конфигурацией разработки, но затем файл web.config изменился ВНОВЬ, и он вернулся кнеправильная конфигурация.
Моя мысль здесь заключается в том, что, оставляя «/ p: Configuration = Development» включенным, MSBuild делает все правильно, но любой процесс, который вызывается из MSBuild (я предполагаю, MSDeploy) на самом делеРазвертывание сайта на сервере приводит к ошибкам.
О, и я использую сервер IIS6, а не IIS7, поэтому любые функции, специфичные для IIS7, действительно не помогут.
Есть идеи, как решить эту проблему?