2015-04-04 42 views
0

我有一個Visual Studio 2013 Web應用程序項目,我有一個本地文件系統發佈配置文件設置。當我在Visual Studio中右鍵單擊該項目並選擇「發佈」時,我可以發佈很好,並且所有內容都按預期行事。但是,我需要在發佈時自動發佈此發佈,因爲解決方案中的其他項目依賴於本地部署的此項目。在我的情況下,部署進入$(ProjectDir)/Deploy文件夾。如何在.csproj文件中模仿Visual Studio中的發佈按鈕?

我該如何做到這一點,當我使用msbuild myproject.csproj構建此項目或右鍵單擊Build時,項目將按照.pubxml文件進行部署?

回答

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> 
相關問題