首页 > 解决方案 > aspnet-codegeneration 分段错误

问题描述

我碰巧使用 dotnet CLI 遵循本教程。我的操作系统是 Ubuntu 18.04。运行后dotnet aspnet-codegenerator identity -fi Account.Register -dc WebPWrecover.Models.WebPWrecoverContext,没有任何反应。如果我尝试运行~/.dotnet/dotnet-aspnet-codegenerator,只会得到segmentation fault (core dumped). 知道如何解决这个问题吗?

标签: c#asp.net-core

解决方案


所以,我终于想通了。这个问题发生在所有 dotnet 工具上,fake是最新的。所以我偶然发现了这个看似无关的 github 问题,它至少包含dotnet new.

我在那里尝试了所有的诊断步骤,最重要的是:

  1. export DOTNET_CLI_TELEMETRY_OPTOUT=1- 没有效果
  2. strace -f -o logfile-codegenerator ~/.dotnet/tools/dotnet-aspnet-codegenerator- 所有 dotnet 工具在行后崩溃arch_prctl(ARCH_SET_FS, 0x7fee92b0d740) = 0。不知道该怎么做。
  3. gdb --args ~/.dotnet/tools/dotnet-aspnet-codegenerator. 我认为 GDB 工具给了我 3 行地址,没有提到调用任何其他库(除了 github 问题提到的)

所以这让我认为问题出在我安装的 dotnet 上,因为程序一开始就崩溃了。

值得一提的是,我通过 snapcraft 安装了 dotnet SDK。在卸载它并正常安装 dotnet SDK并安装一些 dotnet 工具之后(testingdotnettuls dotnet tool install fake-cli -g),我可以确认 dotnet 工具再次工作。

因此,长话短说,如果您使用 dotnet SDK 的 snap 版本并遇到意外的段错误,请通过 apt 安装。


推荐阅读