Как опубликовать веб-приложения.NET в файловой системе, используя MSBuild Task?
Когда я публикую свое веб-приложение с использованием Visual Studio (2013-обновление 5), оно работает, как и ожидалось, со списком файлов развертывания в моем пути app.publish в корневом пути проекта. Мой профиль публикации выглядит так:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Mixed Platforms</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>app.publish</publishUrl>
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
Я хочу получить точно такой же вывод из моего скрипта сборки. Процесс сборки начинается со сборки всего решения (содержит 100 проектов), и требуется публиковать только выбранные проекты (включая как веб-приложения, так и веб-службы). Я попробовал другую команду MSBuild для достижения этой цели, но мне не повезло. (Первая попытка, поскольку кажется логичным просто выполнить публикацию цели, но проблема в том, что она даже не запущена)
<MSBuild Projects="proj.csproj" Targets="Publish" Properties="Configuration=release;OutDir=app.publish" />
Вторая попытка, возьмите несколько комментариев SO и попробуйте без какого-либо свойства Target для репликации предложений ">msbuild /p:Configuration=release;DeployOnBuild=true;PublishProfile=Release"
<MSBuild Projects="proj.csproj" Properties="Configuration=release;DeployOnBuild=true;PublishProfile=Release" />
Третья попытка, найденная где-то в журнале сборки от VS
<MSBuild Projects="proj.csproj" Targets="ResolveReferences;_CopyWebApplication" Properties="Configuration=release;WebProjectOutputDir=app.publish;OutDir=app.publish\bin\" />
Может ли кто-нибудь помочь мне решить эту проблему?
Примечание: я не хочу делать ничего лишнего, например упаковку или архивирование, так как для этого я использую отдельный проект установщика.