У меня есть проект С#.Net 4.0, созданный с VS2010 и теперь доступ к которому осуществляется с помощью VS2012.
Я пытаюсь опубликовать только необходимые файлы с этого сайта в место назначения (C:\builds\MyProject [Files])
Моя файловая структура: . /ProjectRoot/MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
Я запускаю следующее через MSBuild:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe./ProjectRoot/MyProject.csproj/p: DeployOnBuild = true/p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
Здесь xml в FileSystemDebug.pubxml
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\builds\MyProject\</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
Полученное поведение:
- здесь создается zip файл: ./ProjectRoot/obj/Debug/Package/MyProject.zip
- Ничего не развертывается в
<publishUrl>C:\builds\MyProject\</publishUrl>
WTF - Созданный zip файл представляет собой завтрак свиней и полный файлов, которые не нужны для приложения.
Когда я запускаю этот профиль публикации через визуальную студию, папка создается в * C:\builds\MyProject * и содержит точные артефакты, которые я хочу.
Как получить этот простой результат из msbuild?