You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET中Package Mapping Context下‘Source not found’错误的解决方法

解决NuGet包源映射导致的dotnet工具安装失败问题

我执行以下命令安装dotnet-ef工具时:

dotnet tool install --global dotnet-ef

遇到了如下错误:

Unhandled exception: Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageInstallerException: Package Source Mapping is enabled, but no source found under the specified package ID: dotnet-ef. See the documentation for Package Source Mapping at https://aka.ms/nuget-package-source-mapping for more details.
   at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.LoadNuGetSources(PackageId packageId, PackageSourceLocation packageSourceLocation, PackageSourceMapping packageSourceMapping)
   at Microsoft.DotNet.Cli.NuGetPackageDownloader.NuGetPackageDownloader.GetBestPackageVersionAsync(PackageId packageId, VersionRange versionRange, PackageSourceLocation packageSourceLocation)
   at Microsoft.DotNet.Cli.ToolPackage.ToolPackageDownloader.<>c__DisplayClass8_0.<InstallPackage>b__0()
   at Microsoft.DotNet.Cli.TransactionalAction.Run[T](Func`1 action, Action commit, Action rollback)
   at Microsoft.DotNet.Tools.Tool.Install.ToolInstallGlobalOrToolPathCommand.Execute()
   at System.CommandLine.Invocation.InvocationPipeline.Invoke(ParseResult parseResult)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, TimeSpan startupTime, ITelemetry telemetryClient)

我已经尝试过以下操作,但都没有效果:

  • dotnet nuget locals all --clear
  • dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org

可行解决方法

方法1:调整NuGet包源映射配置

找到你的NuGet配置文件:

  • Windows系统:%appdata%\NuGet\NuGet.Config
  • Linux/macOS系统:~/.nuget/NuGet/NuGet.Config

打开文件后:

  • 如果存在<packageSourceMapping>节点,要么给nuget.org源添加匹配所有包的规则,要么明确添加dotnet-ef的映射:
    <packageSourceMapping>
      <packageSource key="nuget.org">
        <!-- 匹配所有包,或者单独指定dotnet-ef -->
        <package pattern="*" />
        <!-- <package pattern="dotnet-ef" /> -->
      </packageSource>
    </packageSourceMapping>
    
  • 要是暂时不需要包源映射功能,直接把整个<packageSourceMapping>区块注释掉或者删除,保存文件后重试安装命令。

方法2:安装时直接指定包源

绕开包源映射的限制,安装命令里直接指定nuget.org源:

dotnet tool install --global dotnet-ef --source https://api.nuget.org/v3/index.json

方法3:重置NuGet配置

如果配置文件已经混乱,直接重置为默认配置,再重新添加源:

dotnet nuget config --clear-all
dotnet nuget add source https://api.nuget.org/v3/index.json --name nuget.org

之后再执行安装命令即可。


内容的提问来源于stack exchange,提问作者Trusha Jadeja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:55:12