如何解决dotnet工具无法识别含特殊字符的Windows用户名问题?
解决dotnet工具解析含特殊字符用户名路径失败的方案
以下是无需修改用户名的解决办法:
手动指定NuGet配置文件路径
- 先手动创建正确路径下的NuGet配置文件:
- 新建文件夹
C:\Users\MRŠ\AppData\Roaming\NuGet - 在该文件夹内创建
NuGet.Config文件,内容如下:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> </packageSources> </configuration>
- 新建文件夹
- 执行安装命令时通过
--configfile参数指定正确路径:dotnet tool install --global dotnet-ef --version 9.* --configfile "C:\Users\MRŠ\AppData\Roaming\NuGet\NuGet.Config"
- 先手动创建正确路径下的NuGet配置文件:
设置NUGET_CONFIG环境变量
- 临时生效(仅当前PowerShell窗口):
执行完上述命令后,直接运行原安装命令即可:$env:NUGET_CONFIG = "C:\Users\MRŠ\AppData\Roaming\NuGet\NuGet.Config"dotnet tool install --global dotnet-ef --version 9.* - 永久生效:在系统环境变量中添加
NUGET_CONFIG变量,值设为C:\Users\MRŠ\AppData\Roaming\NuGet\NuGet.Config,重启PowerShell后生效。
- 临时生效(仅当前PowerShell窗口):
改用本地工具安装
如果不需要全局使用dotnet-ef,可以在项目本地安装,绕过用户目录解析问题:dotnet tool install dotnet-ef --version 9.* --local之后可以通过
dotnet tool run dotnet-ef命令调用该工具。
内容的提问来源于stack exchange,提问作者Marino Šimić
相关产品推荐
相关产品推荐

