.net6.0 上的 Azure Functions 无法在本地 运行 并出现 hostpolicy.dll 错误
Azure Functions on .net6.0 fail to run locally with hostpolicy.dll error
我们的一位开发人员目前正在使用 Windows 10 上的 Visual Studio 2022 预览版在 .Net 6.0 中构建 Azure Function 应用程序。
该解决方案有几个项目、1 个 Azure Function 和几个 class 库。它无法 运行 与:
Metadata generation failed. Exit code: '-2147450750' Error: 'Failed to load the dll from [C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.0\hostpolicy.dll], HRESULT: 0x800700C1An error occurred while loading required library hostpolicy.dll from [C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.0]' DATA.Services.CompaniesQuery.Function C:\Users\r_ver.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets 37
Microsoft.NETCore.App 正在使用版本 6.0.1,并且在依赖项 > 框架 > Microsoft.NETCore.App.
中的 Azure Function 项目中的解决方案资源管理器中列出
我们尝试了以下方法:
正在重新安装 .Net 6 SDK
重新安装 VS 2022 版本 17.0.5
笔记本电脑重启
已删除“C:\Users\someuser.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator”文件夹的内容。
C:\Program Files\dotnet\shared\Microsoft.NETCore.App 有 .Net Core 2.0.0 和 6.0.1 的文件夹
该错误与 2.0.0 有关,但在包括 csproj 文件的项目中没有对此进行引用。
是否需要手动更新目标文件?目前不知道有任何解决方案。
我已经在我的环境中尝试过,它按预期工作,
在 .Net 6.0
中使用 Visual Studio 2022
Preview(17.0.5) 在 Windows 10.
中构建 Azure Function 应用程序
以下是我遵循的步骤:
- 已安装最新版本
Azure function core tools 4x
- 创建一个 Azure 函数 >.net 6 > ANONYMOUS(授权级别)> 创建.
之后确保我们在 .csproj
文件中提供了 Azure 函数运行时 v4,如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.0.1" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
- 允许的防火墙设置
输出:-
注意:-
安装Azure函数核心工具版本时,请确保我们的电脑上只安装了一个核心工具版本。
.net 6 仅支持 Azure 函数运行时版本 4x。
有关详细信息,请参阅此 Microsoft 文档:Azure Functions runtime versions overview
我们的一位开发人员目前正在使用 Windows 10 上的 Visual Studio 2022 预览版在 .Net 6.0 中构建 Azure Function 应用程序。
该解决方案有几个项目、1 个 Azure Function 和几个 class 库。它无法 运行 与:
Metadata generation failed. Exit code: '-2147450750' Error: 'Failed to load the dll from [C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.0\hostpolicy.dll], HRESULT: 0x800700C1An error occurred while loading required library hostpolicy.dll from [C:\Program Files\dotnet\shared\Microsoft.NETCore.App.0.0]' DATA.Services.CompaniesQuery.Function C:\Users\r_ver.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets 37
Microsoft.NETCore.App 正在使用版本 6.0.1,并且在依赖项 > 框架 > Microsoft.NETCore.App.
中的 Azure Function 项目中的解决方案资源管理器中列出我们尝试了以下方法:
正在重新安装 .Net 6 SDK
重新安装 VS 2022 版本 17.0.5
笔记本电脑重启
已删除“C:\Users\someuser.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator”文件夹的内容。
C:\Program Files\dotnet\shared\Microsoft.NETCore.App 有 .Net Core 2.0.0 和 6.0.1 的文件夹
该错误与 2.0.0 有关,但在包括 csproj 文件的项目中没有对此进行引用。
是否需要手动更新目标文件?目前不知道有任何解决方案。
我已经在我的环境中尝试过,它按预期工作,
在 .Net 6.0
中使用 Visual Studio 2022
Preview(17.0.5) 在 Windows 10.
以下是我遵循的步骤:
- 已安装最新版本
Azure function core tools 4x
- 创建一个 Azure 函数 >.net 6 > ANONYMOUS(授权级别)> 创建.
之后确保我们在 .csproj
文件中提供了 Azure 函数运行时 v4,如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.0.1" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
- 允许的防火墙设置
输出:-
注意:-
安装Azure函数核心工具版本时,请确保我们的电脑上只安装了一个核心工具版本。
.net 6 仅支持 Azure 函数运行时版本 4x。
有关详细信息,请参阅此 Microsoft 文档:Azure Functions runtime versions overview