c# - 'dotnet publish' 命令行跳过部署到 Azure Functions

标签 c# azure .net-core azure-functions

我正在为我的网站设置一些 DevOps,到目前为止,我已使用以下命令在两个 ASP.NET Core 应用程序上进行部署,并取得了成功:

dotnet publish ProjectName.csproj /p:PublishProfile="PublishProfileName" /p:Password=password

我刚刚使用 V2 运行时和 .NET Core 2.1 创建了一个 Azure 函数,按照所有新项目的建议(请参阅此处 https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/ ),但如果我使用相同的命令,我发现它只发布它到本地文件夹,并且似乎没有将项目部署到 Azure。

如果我使用 MSBuild 等效项,它似乎也会错过部署阶段。

我猜测这与项目类型在某种程度上没有适当的构建目标有关,但我不确定如何进一步跟踪这一点。

我可以从 Azure 下载发布设置,将它们导入 Visual Studio 并通过 VS 发布,所以看起来如果 VS 路径有效,这可能是某处工具的回归或错误,而不是不受支持的东西?

我正在使用:

  • Visual Studio 15.8.8 +28010.2048
  • Azure Functions 和 Web 作业工具 15.9.02046.0

如果我不应该将 dotnetpublish 与 Azure 函数一起使用,那么我应该使用什么来代替命令行 CD?我已经看到了对 Azure Function CLI 工具的引用,但如果可以通过其他工具完成,我不希望在我们的构建代理上安装包管理器。

最佳答案

最后,在答案和评论的帮助下(谢谢大家),我有了一个正在部署我的 .NET Core 2.1 Function 项目的 MSBuild 命令行:

msbuild /p:DeployOnBuild=True /p:PublishProfile=somename.pubxml /p:Configuration=Release

但是,值得注意的是:

一般 .NET Core 发布说明

  1. 如果您拼错了发布配置文件名称,它将默默地跳过部署(没有警告或错误)。

ASP.NET Core 和 .NET Core Functions 部署之间的差异

  • 如果您使用“dotnetpublish”,它将始终跳过部署。

  • 如果您不指定/p:DeployOnBuild=True,它将跳过部署。

  • 关于c# - 'dotnet publish' 命令行跳过部署到 Azure Functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53048008/

    相关文章:

    powershell - 如何下载特定订阅的 Azure PublishSettings 文件

    Azure Blob 存储 REST API 签名

    c# - 我可以在 ASP.NET Core 启动期间访问数据库吗?

    .net - 如何从 .NET Core 应用程序调用 native Linux 和 OS X API?

    msbuild - Visual Studio 2017 MSBuild 任务开发

    c# - 有没有办法检查串口(RS-232)连接设备的电源开/关?

    c# - 关于 .csproj.filelistabsolute.txt 的 Xamarin.Forms Droid 项目警告

    c# - 获取属性的值

    c# - DDD聚合根

    azure - Powershell 获取所有 Azure 资源的每月消耗量