构建Web部署包的问题

时间:2016-09-01 19:10:15

标签: c# asp.net msbuild webdeploy

使用visual studio我能够配置一个配置文件来创建一个Web部署包zip。我命名了个人资料" deploy"。我希望能够从CI做到这一点。这是我到目前为止的命令行。我已经把我在十几篇博文中看到的各种选项组合在一起:

msbuild HelloBeanstalk4.csproj /p:DeployOnBuild=true /p:PublishProfile=deploy /p:Configuration=Release;Platform="Any CPU" /p:PackageLocation="D:\x.zip" /p:OutputPath="d:" /p:DeployTarget=deploy /tv:14.0

当我运行它时,它只是吐出/ bin的内容以及带有站点文件的_PublishedWebsites目录。它没有制作zip文件。我正在使用VS2013来构建4.0或4.5站点。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在Visual Studio中,设置Publish | Connection | Package Location的文件路径是什么?我的设置为obj\Release\Package\package.zip

在Visual Studio中发布时,它是否在该位置创建了zip文件?

当我在带有.csproj的文件夹中运行命令时,它会在我在配置文件中指定的位置构建包zip:

msbuild /p:DeployOnBuild=true /p:PublishProfile=deploy

<强>更新

使用VS 2013 Pro,以下是我的./Properties/PublishProfiles/deploy.pubxml文件的内容:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>Package</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <DesktopBuildPackageLocation>obj\Release\Package\package.zip</DesktopBuildPackageLocation>
    <PackageAsSingleFile>true</PackageAsSingleFile>
    <DeployIisAppPath />
    <PublishDatabaseSettings>
      <Objects xmlns="">
       ...
      </Objects>
    </PublishDatabaseSettings>
  </PropertyGroup>
  <ItemGroup>
    <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
  </ItemGroup>
</Project>

与您的pubxml文件相比有任何显着差异?