Как Вишал описывает в статье блога, которую вы связали с собой, все параметры MSBuild можно перемещать внутри csproj. Это означает, что каждый проект может иметь свои собственные настройки.
У меня есть одно решение с 6 проектами, 4 библиотеками классов и 2 веб-приложениями (приложение WCF и MVC). Я следовал директиве из блога Вишала и просто переместил все мои параметры MSBuild в каждый файл csproj. Т.е.
<PropertyGroup>
<DeployOnBuild>True</DeployOnBuild>
<DeployTarget>MsDeployPublish</DeployTarget>
<CreatePackageOnPublish>True</CreatePackageOnPublish>
<MSDeployPublishMethod>InProc</MSDeployPublishMethod>
<MSDeployServiceUrl>localhost</MSDeployServiceUrl>
<DeployIisAppPath>Dev.Auzzy\Web</DeployIisAppPath>
<UserName>Username</UserName>
<Password>Password</Password>
...
Убедитесь, что вы удалили параметры из определения сборки.
Затем TFS развертывается, как ожидается ... каждый проект в правильной папке, указанной в качестве домашнего каталога для каждого сайта IIS.
Также стоит отметить, что вы не можете включить DeployIisAppPath в PropertyGroup, как указано выше, но использовать страницу свойств проекта, чтобы указать это для каждой конфигурации сборки. (Щелкните правой кнопкой мыши по каждому проекту> Свойства> Упаковать / опубликовать в Интернете).