MSbuild网站未发布到本地目录

时间:2019-03-21 20:39:20

标签: asp.net visual-studio build msbuild

我需要将.NET网站项目发布到本地目录。该网站项目是解决方案的一部分,该解决方案还包含一个Web应用程序。 Visual Studio中的发布Web应用选项将网站毫无问题地发布到目录中,但是我无法通过msbuild发布该网站。

我的msbuild命令

msbuild "C:\...\ProjectName\website.publishproj" /p:deployOnBuild=true /p:publishProfile=Dev /p:PrecompileBeforePublish=false /p:VisualStudioVersion=14.0 /p:WebPublishMethod=FileSystem

我引用的dev.pubxml发布配置文件是:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>True</ExcludeApp_Data>
    <publishUrl>C:\FolderLocation</publishUrl>
    <DeleteExistingFiles>False</DeleteExistingFiles>
    <ExcludeFoldersFromDeployment>.vs</ExcludeFoldersFromDeployment>
  </PropertyGroup>
</Project>

当前,该网站未发布到C:\FolderLocation,而是发布到ProjectName\PrecompiledWeb\localhost_51636。通过/p:OutDir=C:\FolderLocation更改输出目录会将 Web应用发布到正确的位置,但是不会发布网站。我也尝试过/p:PublishDestination/p:DesktopBuildPackageLocation msbuild参数,但是仍然存在原始问题。

我已经引用了Publish Artifacts for website goes to PrecompiledWeb和许多其他资源。我最终的目标是通过Azure Devops为整个旧版.NET网站项目设置CI。

1 个答案:

答案 0 :(得分:0)

使用TFS-它在幕后使用MSBUILD,我们需要此参数写入目录以从中提取工件

/ p:OutDir = $(build.StagingDirectory)

您只告诉您有关“发布项目”部分的信息-查看将SLN文件放在第一个参数处是否可以解决该问题并完成所有操作。