#msbuild #visual-studio-2013 #web-deployment
#msbuild #visual-studio-2013 #веб-развертывание
Вопрос:
Я хочу создать zip-файл развертывания для своего веб-сайта.
Мне нужно было добавить папку в пакет развертывания, поэтому я последовал этому руководству (я добавил файл .wpp.targets в свой проект)
Но когда я запускаю MSBuild с помощью командной строки, я получаю эту ошибку :
C:Program Файлы (x86)MSBuildMicrosoft VisualStudiov12.0WebMicrosoft.Web.Publishing.targets(3898, 5): ошибка msdeploy ОШИБКА_EXCEPTION_WHILE_CREATING_OBJECT: не удалось выполнить задачу веб-развертывания. (Объект типа «манифест» и путь «C:MyprojectMyWebsitedeploymentfolderWebsite .SourceManifest.xml «не может быть создан.
Строка 3898 и после :
<VSMSDeploy Condition="!$(UseMsdeployExe)"
MSDeployVersionsToTry="$(_MSDeployVersionsToTry)"
Source="@(MsDeploySourceProviderSetting)"
Destination="@(MsDeployDestinationProviderSetting)"
DeploymentTraceLevel="$(PackageTraceLevel)"
DisableLink="$(PackageDisableLinks)"
EnableLink="$(PackageEnableLinks)"
DeclareParameterItems="@(_Package_MsDeployDeclareParameters)"
OptimisticParameterDefaultValue="$(EnableOptimisticParameterDefaultValue)"
ImportDeclareParametersItems="$(_VsPackageParametersFile)"
ReplaceRuleItems="@(MsDeployReplaceRules)"
RetryAttempts="$(RetryAttemptsForDeployment)">
<Output TaskParameter="Result" PropertyName="PackageResult" />
</VSMSDeploy>
Моя команда MSBuild :
MSBuild Myproject.sln /P:Configuration="Release" /P:DeployOnBuild="True" /P:Platform="Any CPU" /P:PackageLocation="deploymentfolder/Website.zip" /P:DeployTarget=Package
У вас есть идея, как исправить ошибку?
Я попробовал с новым проектом и получил ту же ошибку…
Я просто хочу добавить папку в свой deployment .zip
Ответ №1:
Хорошо, я нашел проблему. Флодер, который я хотел добавить, был пуст. По какой-то причине это не работает. Я добавил файлы в папку, и это работает…
И я, наконец, изменил свой файл .wpp.targets, чтобы просто добавить папку со всеми файлами в deployment .zip :
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CustomCollectFiles">
<ItemGroup>
<CustomFiles Include="MyFolder***" />
<FilesForPackagingFromProject Include="%(CustomFiles.Identity)">
<DestinationRelativePath>MyFolder%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
</Project>