如何在.csproj文件中模仿Visual Studio中的“发布”按钮?

时间:2015-04-04 01:07:23

标签: asp.net visual-studio msbuild

我有一个Visual Studio 2013 Web应用程序项目,我有一个本地文件系统发布配置文件设置。当我在Visual Studio中右键单击项目并选择“发布”时,我可以正常发布,一切都按预期运行。但是,我需要在构建时自动发布此发布,因为解决方案中的其他项目依赖于本地部署的此项目。就我而言,部署进入$(ProjectDir)/Deploy文件夹。

当我使用msbuild myproject.csproj构建此项目或右键单击Build时,如何实现,项目将按.pubxml文件进行部署?

1 个答案:

答案 0 :(得分:0)

最终成为解决方案的是将其添加到我的.csproj文件的末尾。

<Target Name="Deploy" AfterTargets="Build">
    <MSBuild
        Projects="$(ProjectPath)"
        Targets="WebPublish"
        Properties="PublishProfile=LocalDeploy"
    />
</Target>

LocalDeploy是我在.pubxml中找到的$(ProjectDir)Properties/PublishProfiles文件的名称。

供参考,以下是使用的发布配置文件:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
    <PrecompileBeforePublish>True</PrecompileBeforePublish>
    <EnableUpdateable>False</EnableUpdateable>
    <DebugSymbols>True</DebugSymbols>
    <WDPMergeOption>DonotMerge</WDPMergeOption>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <publishUrl>$(MSBuildThisFileDirectory)\..\..\Deploy</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
  </PropertyGroup>
</Project>