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

Visual Studio 2022修改.NET MAUI项目图标后NuGet解析异常求助

解决.NET MAUI项目中NuGet包解析NU1100错误(PackageSourceMapping异常)

问题背景

在Visual Studio 2022 17.11.4中修改.NET MAUI解决方案项目图标后,出现持续的NuGet包解析错误,示例错误如下:
Unable to resolve 'Microsoft.IO.RecyclableMemoryStream (>= 3.0.1)' for 'net8.0-windows10.0.19041'. PackageSourceMapping is enabled, the following source(s) were not considered: C:\Program Files\dotnet\library-packs, Microsoft Visual Studio Offline Packages, nuget.org.

已尝试重置代码提交、重装VS和.NET SDK、清理NuGet缓存、新建解决方案、验证版本等常规手段,均无法解决。环境配置为Windows 10、.NET SDK 8.0.100,错误涉及Microsoft.IO.RecyclableMemoryStream、Microsoft.Maui.Controls等多个包,且PackageSourceMapping未正确使用已配置的源。

排查与解决步骤

1. 检查全局/项目NuGet.Config的PackageSourceMapping配置

  • 打开用户目录下的%appdata%\NuGet\NuGet.Config,或项目根目录的NuGet.Config,找到<packageSourceMapping>节点:
    • 确认核心包的源映射规则是否正确,比如Microsoft系包应映射到nuget.org:
      <packageSourceMapping>
        <packageSource key="nuget.org">
          <package pattern="Microsoft.*" />
          <package pattern="*" /> <!-- 若规则过严可临时用通配符测试 -->
        </packageSource>
      </packageSourceMapping>
      
    • 检查是否存在<disabledPackageSources>节点误禁用nuget.org:
      <disabledPackageSources>
        <add key="nuget.org" value="false" /> <!-- value为false表示未禁用 -->
      </disabledPackageSources>
      

2. 临时关闭PackageSourceMapping验证问题根源

  • 在NuGet.Config中添加以下配置,关闭PackageSourceMapping功能:
    <config>
      <add key="disablePackageSourceMapping" value="true" />
    </config>
    
  • 重启Visual Studio并尝试还原包,若恢复正常,说明问题出在映射规则配置上,需重新调整匹配模式。

3. 调整Windows平台目标版本

  • 打开项目文件(.csproj),将Windows目标版本从net8.0-windows10.0.19041修改为更高版本(如net8.0-windows10.0.22621.0):
    <TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst;net8.0-windows10.0.22621.0</TargetFrameworks>
    
  • 保存后重新还原包,排查是否因目标版本兼容性导致包无法解析。

4. 确认.NET SDK包源配置

  • 打开命令提示符,执行以下命令查看包源状态:
    dotnet nuget list source
    
  • 若nuget.org未列出或状态为禁用,执行命令添加并启用:
    dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
    

5. 清理Visual Studio组件缓存

  • 完全关闭Visual Studio,删除以下目录的缓存文件:
    • %localappdata%\Microsoft\VisualStudio\17.0_*\ComponentModelCache
    • %localappdata%\Microsoft\NuGet\v3-cache
  • 重启Visual Studio后尝试还原包。

6. 检查项目文件中的局部配置

  • 打开项目的.csproj文件,确认是否存在局部<PackageSourceMapping>配置覆盖全局规则,或<PackageReference>指定了错误源:
    确保无类似以下错误配置:
    <ItemGroup>
      <PackageSourceMapping>
        <PackageSource key="InvalidSource" pattern="Microsoft.*" />
      </PackageSourceMapping>
    </ItemGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:02:25