azure - 从 Github 部署 Function App .csproj

标签 azure azure-functions azure-rm-template

我在多项目 Visual Studio 解决方案中有一个函数应用程序项目。我有一个以 GitHub 作为源设置的 ARM 模板:

"properties": {
"RepoUrl": "[parameters('funcapp_reponame')]",
"branch": "[parameters('funcapp_branch')]",
"IsManualIntegration": true,

}

我还添加了以下内容以从函数应用项目进行部署:

"siteConfig": {
"appSettings": [
{
    "name": "Project",
    "value": "ProjectName"
}]

},

模板成功创建了 Function 应用资源,但未创建函数。查看 Azure 门户中的部署错误日志,我得到:

'D:\home\site\repository\ProjectName\ProjectName.csproj' is not a deployable project

查看通过 FTP 复制到 Azure 的文件,我可以看到完整的解决方案已被复制,并且部署过程看起来正在选择正确的文件夹。 .csproj 的存在是否导致了该问题? github 上用于部署功能的各种示例 ARM 模板似乎没有使用 Visual Studio 项目。

最佳答案

在您的函数应用程序的 csproj 中,您有:

<ItemGroup>
  <PackageReference Include="Microsoft.Azure.WebJobs" Version="2.1.0-beta1" />
  <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="1.0.0-beta1" />
  <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.0-alpha6" />
</ItemGroup>

所以它引用了一个非常旧的 Microsoft.NET.Sdk.Functions 包。在您的项目中,转到“管理 NuGet 包”,然后更新到最新版本,目前为 1.0.7。另外,请确保在“工具/扩展和更新”下安装任何相关的 VS 更新。

关于azure - 从 Github 部署 Function App .csproj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47570289/

相关文章:

azure - 如何在Azure函数中获取由IOThub消息触发的消息的deviceid

azure - 使用 Arm 模板创建资源组并部署资源并从 Visual Studio 进行部署

azure - 如何使用 Azure DevOps 发布变量将环境特定值传递到 azure 数据工厂中的管道参数

azure - 带有空格参数的 ARM 模板自定义脚本扩展

Azure管道: file-trigger for files on root level

azure - 是否可以更改/更新 Azure 队列中的过期时间?

azure - 使用 GoLang 部署 azure 函数

azure - 使用 REST API 运行 Azure DevOps 测试用例

azure - 将sqlserver数据库复制到azure

c# - Azure函数连接到本地sql访问被拒绝