【问题标题】:Unable to publish Azure Function v1.0 on file system as defined in publish profile using msbuild command无法使用 msbuild 命令在发布配置文件中定义的文件系统上发布 Azure Function v1.0
【发布时间】:2021-08-29 15:16:07
【问题描述】:

我正在尝试使用发布配置文件发布 azure function v1.0,发布配置文件的内容如下所示

<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration>Release</Configuration>
    <Platform>Any CPU</Platform>
    <PublishDir>C:\New folder</PublishDir>
    <PublishProtocol>FileSystem</PublishProtocol>
    <TargetFramework>net48</TargetFramework>
  </PropertyGroup>
</Project>

我们在下面给出的 msbuild 命令中使用了这个发布配置文件(FolderProfile 是我们在命令中使用的发布配置文件的名称)

C:\code\msbuild "mufunctionapp.csproj" /t:Rebuild /p:Configuration=Release;PublishProfile=PublishProfiles/FolderProfile

但在运行此命令后,没有任何内容被复制(发布)到发布配置文件中指定的文件夹(C:\New 文件夹)中。但我可以看到发布工件(二进制文件)被复制到 obj\Release\net48\PubTmp\Out\bin

但如果我在 Visual Studio 2019 中使用相同的发布配置文件,则发布工件(二进制文件)将被复制到发布配置文件中指定的文件夹中。

我想在 CI 中使用带有给定发布配置文件的 msbuild 命令发布二进制文件,但由于它在本地无法运行,我无法在 CI 管道中使用 msbuild。

如果我在 MSBUILD 或发布配置文件中做错了什么,请告诉我。

【问题讨论】:

  • 你可以尝试使用``代替&lt;PublishDir&gt;。 related document
  • 它不工作@DylanZhu-MSFT
  • 尝试添加/p:DeployOnbuild = true,删除/t:Rebuild

标签: .net visual-studio msbuild continuous-integration azure-functions


【解决方案1】:

有两个原因

  1. 您可能将条件设置为 false,Condition="false" 深埋在您的 .csproject 文件中。尝试删除该条件,并在 powershell 或某些 CLI 中仔细检查您的 $(MSBuildToolsVersion) 是否正确解析为正确的 VS 2019 build path and version
  1. 现在您可以使用其他选项进行 MS 构建,但您肯定需要以下两个选项。参考MSDN

// If running build @ **Solution level
msbuild myproject.csproj /p:DeployOnBuild=true /p:PublishProfile=myVsProfile /p:WebPublishMethod=FileSystem 

// If running build @ individual **Project level specify the correct VS version
msbuild myproject.csproj /p:DeployOnBuild=true /p:PublishProfile=myVsProfile /p:WebPublishMethod=FileSystem /p:VisualStudioVersion=17.0 

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多