dotnet ef dbcontext Scaffold



我正试图在macbook M1上使用dotnet ef dbcontext Scaffold,但我遇到了错误:

无法加载/usr/local/share/dotnet/shared/Microsoft。NETCore。App/5.0.11/libhostpolicy.dylib,错误:dlopen(/usr/local/share/dotnet/shared/Microsoft.NETCore.App/5.0.12/libhostpolicy-dylib,0x0001(:已尝试:'/usr/local/sshare/dotnet/shared/Microsoft。NETCore。App/5.0.11/libhostpolicy.dlib'(mach-o文件,但是不兼容的体系结构(具有'x86_64',需要'arm64e'((、'/usr/local/lib/libhostpolicy.dylib'(没有此类文件(、'usr/lib/libhostpolicy.dlib'(没有此文件(从/usr/local/share/dotnet/shared/Microsoft.NETCore.App/5.0.11]加载所需库libhostpolicy.dylib时出错

更新到后会发生这种情况。NET6,但目前的项目仍然是。NET5.该项目正在成功构建和运行,只有当数据库中的脚手架发生变化时,问题才会出现

如果这对其他人有帮助,我也遇到了同样的问题,我似乎有一些旧版本的dotnet在徘徊。

$ dotnet-ef
Failed to load /usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.14/libhostpolicy.dylib, error: dlopen(/usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.14/libhostpolicy.dylib, 0x0001): tried: '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.14/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/libhostpolicy.dylib' (no such file), '/usr/lib/libhostpolicy.dylib' (no such file)
An error occurred while loading required library libhostpolicy.dylib from [/usr/local/share/dotnet/shared/Microsoft.NETCore.App/3.1.14]

$ dotnet --list-runtimes
Microsoft.AspNetCore.App 3.1.13 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.14 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.4 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.14 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.4 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
$ dotnet --list-sdks
3.1.407 [/usr/local/share/dotnet/sdk]
3.1.408 [/usr/local/share/dotnet/sdk]
5.0.201 [/usr/local/share/dotnet/sdk]
5.0.202 [/usr/local/share/dotnet/sdk]
6.0.101 [/usr/local/share/dotnet/sdk]
$ dotnet tool list --global
Package Id      Version      Commands 
--------------------------------------
dotnet-ef       6.0.1        dotnet-ef

我通过自制软件彻底删除并重新安装了dotnet。

$ brew uninstall dotnet-sdk
...
$ ls -la /usr/local/share/   
total 0
drwxr-xr-x  2 root  wheel   64 17 Jan 14:59 .
drwxr-xr-x  9 root  wheel  288 10 Jan 15:57 ..
...
$ brew install dotnet-sdk
Running `brew update --preinstall`...
...
🍺  dotnet-sdk was successfully installed!
$ dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
$ dotnet --list-sdks    
6.0.101 [/usr/local/share/dotnet/sdk]

$ dotnet tool install dotnet-ef --global
You can invoke the tool using the following command: dotnet-ef
Tool 'dotnet-ef' (version '6.0.1') was successfully installed.
$ dotnet ef
_/__       
---==/    \      
___  ___   |.    |    
| __|| __|  |  )   \   
| _| | _|   _/ |  //|\ 
|___||_|       /   \/\
Entity Framework Core .NET Command-line Tools 6.0.1
Usage: dotnet ef [options] [command]
Options:
--version        Show version information
-h|--help        Show help information
-v|--verbose     Show verbose output.
--no-color       Don't colorize output.
--prefix-output  Prefix output with level.
Commands:
database    Commands to manage the database.
dbcontext   Commands to manage DbContext types.
migrations  Commands to manage migrations.
Use "dotnet ef [command] --help" for more information about a command.

最新更新