清理电脑导致nuget没有正常还原报错Microsoft.PackageDependencyResolution
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-windows10.0.19041.0”的目标。确保已运行还原,且“net8.0-windows10.0.19041.0”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266 错误 XA1018 Specified AndroidManifest file does not exist: F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\AndroidManifest.xml. TodoReminderApp C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets 596
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-windows10.0.19041.0”的目标。确保已运行还原,且“net8.0-windows10.0.19041.0”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266
错误 XA1018 Specified AndroidManifest file does not exist: F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\AndroidManifest.xml. TodoReminderApp C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets 596
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-windows10.0.19041.0”的目标。确保已运行还原,且“net8.0-windows10.0.19041.0”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266
错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-ios”的目标。确保已运行还原,且“net8.0-ios”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266
错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-maccatalyst”的目标。确保已运行还原,且“net8.0-maccatalyst”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266
错误 NETSDK1005 资产文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\project.assets.json”没有“net8.0-android”的目标。确保已运行还原,且“net8.0-android”已包含在项目的 TargetFrameworks 中。 TodoReminderApp C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266
这个错误通常是由于项目缺少 Android 目标框架配置或 NuGet 包未正确还原导致的。解决步骤如下:
1. 检查项目目标框架配置
确保项目文件(.csproj)中包含 net8.0-android 目标框架:
- 在解决方案资源管理器中,右键项目 → 编辑项目文件(或手动找到
.csproj文件)。 - 检查
<TargetFrameworks>节点是否包含net8.0-android:<!-- 正确配置示例 --> <TargetFrameworks>net8.0-android;net8.0-ios</TargetFrameworks> <!-- 或仅针对 Android --> <TargetFramework>net8.0-android</TargetFramework> - 若缺少,添加
net8.0-android并保存文件。
2. 重新还原 NuGet 包
“project.assets.json” 文件由 NuGet 还原生成,缺少目标框架通常是还原不完整导致的:
通过 Visual Studio 还原:
- 右键解决方案 → 还原 NuGet 包。
- 或在菜单栏选择 工具 → NuGet 包管理器 → 包管理器控制台,执行:
dotnet restore
通过命令行还原(在项目根目录执行):
# 清理旧的构建文件 dotnet clean # 重新还原依赖 dotnet restore
3. 检查 .NET MAUI 工作负载是否安装
若 net8.0-android 目标框架无法识别,可能是缺少对应的 .NET MAUI 工作负载:
- 打开 Visual Studio 安装程序 → 选择你的 VS 版本 → 点击 修改。
- 在 工作负载 选项卡中,确保勾选:
- .NET 多平台应用 UI 开发(MAUI 核心工作负载)。
- 展开该工作负载,确认勾选 Android 平台开发(包含
net8.0-android支持)。
- 点击 修改 安装缺失的组件。
4. 清理并重建项目
还原和配置后,清理旧的构建缓存并重建:
- 右键项目 → 清理。
- 右键项目 → 重建。
- 若仍报错,删除项目目录下的
bin和obj文件夹,再重新生成。
总结
核心问题是项目未配置 net8.0-android 目标框架或 NuGet 还原不完整,按以下顺序操作即可解决:
- 确保
.csproj中包含net8.0-android目标框架。 - 执行
dotnet restore重新还原依赖。 - 检查并安装 .NET MAUI Android 工作负载。
- 清理缓存并重建项目。
windows还原
安卓端也报错error APT2144: invalid file path '...\res\platforms\android\androidmanifest.xml'
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 IDE1100 读取源文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android.NETCoreApp,Version=v8.0.AssemblyAttributes.cs”中的内容时出错 -“未能找到文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android.NETCoreApp,Version=v8.0.AssemblyAttributes.cs”。”。 TodoReminderApp (net8.0-android) F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android.NETCoreApp,Version=v8.0.AssemblyAttributes.cs 1 活动 错误 APT2144 invalid file path 'F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android\res\platforms\android\androidmanifest.xml'. TodoReminderApp C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Aapt2.targets 123
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 IDE1100 读取源文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android\.NETCoreApp,Version=v8.0.AssemblyAttributes.cs”中的内容时出错 -“未能找到文件“F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android\.NETCoreApp,Version=v8.0.AssemblyAttributes.cs”。”。 TodoReminderApp (net8.0-android) F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android\.NETCoreApp,Version=v8.0.AssemblyAttributes.cs 1 活动
错误 APT2144 invalid file path 'F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Debug\net8.0-android\res\platforms\android\androidmanifest.xml'.
TodoReminderApp C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Aapt2.targets 123
已经删除bin和obj目录然后清理再构建
(base) PM> dotnet publish -f:net8.0-android -c Release
閫傜敤浜?.NET MSBuild 鐗堟湰 17.9.4+90725d08d
姝e湪纭畾瑕佽繕鍘熺殑椤圭洰鈥?
宸茶繕鍘?F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\TodoReminderApp.csproj (鐢ㄦ椂 15.33 sec)銆?
C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Aapt2.targets(123,3): error APT2144: invalid file path 'F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\obj\Release\net8.0-android\res\platforms\android\androidmanifest.xml'. [F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\TodoReminderApp.csproj::TargetFramework=net8.0-android]
C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Aapt2.targets(123,3): error APT2144: [F:\Merchant\project\todotask\TodoReminderApp\TodoReminderApp\TodoReminderApp.csproj::TargetFramework=net8.0-android]还是报错,什么问题
这类 APT2144 错误通常出现在 Android 构建过程中,原因是 资源文件路径不合法或被错误生成。在你的项目中,它似乎是自动在 obj/Release/net8.0-android/res/platforms/android/androidmanifest.xml 下生成了一个无效的路径。
资源文件路径不合法或被错误生成 androidmanifest生成操作 只能是无 不能乱改