c#-“ dotnet发布”命令行跳过部署到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功能和Web作业工具15.9.02046.0

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

解决方法:

最后,借助答案和评论(感谢所有),我有一个MSBuild命令行,可用于部署.NET Core 2.1 Function项目:

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

但是,值得注意的是:

一般.NET Core发布说明

>如果您拼写了错误的发布配置文件名称,它将以静方式跳过部署(无警告或错误).

ASP.NET Core和.NET Core Functions部署之间的区别

>如果您使用“ dotnet发布”,它将始终跳过部署.
>如果您未指定/ p:DeployOnBuild = True,它将跳过部署.

相关文章

Microsoft云包括了Azure、PowerPlatform、Microsoft365、Git...
《WindowsAzurePlatform系列文章目录》 我们在使用AzureAPI...
微软免费使用一年的Azure虚拟机,默认提供了一个64G的磁盘,...
上篇请访问这里做一个能对标阿里云的前端APM工具(上)样本多...
一年一度的MicrosoftBuild终于来了,带来了非常非常多的新技...