我在多项目 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/