【问题标题】:Failed to load native library grpc_csharp_ext.x86.dll while running Azure Function in Visual Studio在 Visual Studio 中运行 Azure Function 时无法加载本机库 grpc_csharp_ext.x86.dll
【发布时间】:2019-01-21 12:22:45
【问题描述】:

最近我遇到了以下问题。在 Visual Studio 中运行的 Azure Function 总是抛出异常:

System.IO.IOException HResult=0x80131620 消息=加载错误 本机库 "C:\Users\\AppData\Local\AzureFunctionsTools\Releases\2.16.0\cli\grpc_csharp_ext.x86.dll" 来源=Grpc.Core StackTrace:在 Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives) 在 Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary() 在 Grpc.Core.Internal.NativeExtension.LoadNativeMethods() 在 Grpc.Core.Internal.NativeExtension..ctor() 在 Grpc.Core.Internal.NativeExtension.Get() 在 Grpc.Core.GrpcEnvironment.GrpcNativeInit() 在 Grpc.Core.GrpcEnvironment..ctor() 在 Grpc.Core.GrpcEnvironment.AddRef() 在 Grpc.Core.Server..ctor(IEnumerable`1 选项)在 Microsoft.Azure.WebJobs.Script.Grpc.GrpcServer..ctor(FunctionRpcBase serviceImpl) 在 C:\azure-webjobs-sdk-script\src\WebJobs.Script.Grpc\Server\GrpcServer.cs:line 24

据说丢失的文件当然在它的位置。我尝试重新安装 Azure Function Tools 和 Visual Studio,但没有任何帮助。有什么想法吗?

提前致谢。

编辑1:

问题似乎是由库路径中的非英文字符引起的。我刚刚创建了另一个没有它们的帐户,突然一切都开始工作了。

【问题讨论】:

  • 你有没有试过删除目录%localappdata%\AzureFunctionsTools让VS重新下载cli?
  • 是的,我也尝试将我的电脑重置为出厂设置。这些都没有帮助。

标签: c# visual-studio exception azure-functions grpc


【解决方案1】:

从错误的根本原因是因为库路径中的非英文字符,您可以考虑重命名用户配置文件的路径。

要做到这一点,这里是步骤

  • 注销并以其他管理员用户身份登录您的 PC
  • CTRL + R 打开命令提示符,然后输入cmd
  • 输入 wmic useraccount get name, sid 并获取您个人资料的 SID
  • 在开始菜单下输入regedit,右击选择Run as Administrator
  • 进入Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\YOUR_SID_HERE
  • 双击ProfileImagePath,根据需要更改数值数据(可以关闭注册表编辑器)
  • 进入 USER PROFILES 文件夹 (%USERPROFILE%\..\) 并相应地更改您的用户配置文件的路径
  • 重新启动计算机

【讨论】:

    猜你喜欢
    • 2019-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多