MSBUILD脚本构建解决方案,但不部署发布配置文件

时间:2014-06-19 10:19:35

标签: asp.net msbuild msdeploy

我已经为我的网页创建了一个发布配置文件,我可以使用Visual Studio中的Web部署界面成功发布(右键单击项目,部署等)。它在我的本地PC上构建项目,并将文件复制到目标IIS服务器。

但是现在我正在尝试创建一个MSBuild命令,它应该这样做,但它只是构建解决方案,而不是将其复制到服务器。

我的 MSbuild命令看起来像这样,我从解决方案源目录运行它

msbuild "test.co.za.sln" p:DeployOnBuild=true /p:PublishProfile="test.co.za"  /p:UserName="domain\test"  /p:Password="test"

我的构建命令有什么问题吗?正如您在屏幕截图中看到的那样,它正在成功构建,但没有复制文件。这让我想知道发布配置文件是否完全执行。 我尝试了各种发布配置路径,完整路径和扩展的组合,没有,似乎没有任何东西可以复制我的文件。

enter image description here

我的发布资料如下所示 App_Data \ Publishprofile \ test.co.za.pubxml

<?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>MSDeploy</WebPublishMethod>
        <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
        <SiteUrlToLaunchAfterPublish>http://test.co.za</SiteUrlToLaunchAfterPublish>
        <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
        <MSDeployServiceURL>test.co.za</MSDeployServiceURL>
        <DeployIisAppPath>test.co.za</DeployIisAppPath>
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName>domain\test</UserName>
        <_SavePWD>True</_SavePWD>
      </PropertyGroup>
    </Project>

编辑:这是一个现有的经典ASP网站,我添加到解决方案中,它不包含&#34; .csproj&#34;文件,只是一个&#34; website.publishproj&#34;,似乎无法执行

2 个答案:

答案 0 :(得分:2)

看起来你没有传递VisualStudioVersion属性。你应该包括那个。根据您使用的Visual Studio版本,该值可以是11.012.014.0。您应该传递Configuration的值,但这不是必需的。我在http://sedodream.com/2012/08/19/VisualStudioProjectCompatabilityAndVisualStudioVersion.aspx上写了一篇关于为什么这很重要的博客。

您可以在http://www.asp.net/mvc/tutorials/deployment/visual-studio-web-deployment/command-line-deployment

找到asp.net命令行发布的文档

答案 1 :(得分:1)

看起来像我的&#34; website.publishingproj&#34;在运行msbuild命令时永远不会构建。不知道为什么,@ Sayay你或许知道吗?

我必须在我的解决方案旁边创建一个目标文件,名为&#34; after.solutionName.sln.targets&#34;并复制此答案中的代码:https://stackoverflow.com/a/15138373/1184603

<!--?xml version="1.0" encoding="utf-8"?-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="Deploy Website" AfterTargets="Build">
        <Message Text="Starting Website deployment" Importance="high">
        </Message>
        <MSBuild Projects="$(MSBuildProjectDirectory)\MyWebs\website.publishproj" 
        BuildInParallel="true" /> 
    </Target>
</Project>

现在可以从我的msbuild脚本正确发布。