修改UWP应用文件夹名称或路径后NuGet引用丢失问题求助
解决UWP文件夹重命名/移动后的NuGet引用缺失问题
我碰到过不少开发者遇到这个情况——手动改了UWP项目的文件夹名或者移动路径后,VS就报引用缺失,连核心的Microsoft.NETCore.UniversalWindowsPlatform包都消失了,常规的清理、重新生成还不管用。本质上这是VS的项目文件、解决方案文件和NuGet缓存的关联在路径变动后出现了断裂,试试下面这些针对性的步骤:
1. 手动修复项目文件(.csproj)
VS有时候不会自动更新项目文件里的路径关联,得我们自己动手:
- 先关闭Visual Studio,找到你的UWP项目的
.csproj文件,用记事本或VS Code打开 - 查找
<PackageReference>节点,确认Microsoft.NETCore.UniversalWindowsPlatform的引用是否存在,如果不存在,手动添加一行(替换成你之前用的版本号):<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.14" /> - 同时检查文件里有没有指向旧文件夹路径的无效引用,直接删掉这些错误条目
- 保存并关闭文件
2. 更新解决方案文件(.sln)
如果是移动了项目文件夹,解决方案文件里的项目路径可能还是旧的:
- 打开你的
.sln文件,找到对应UWP项目的条目,格式大概是:Project("{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A}") = "YourAppName", "OldFolderPath\YourAppName.csproj", "{GUID}" - 把中间的旧路径改成现在的新文件夹路径,保存文件
3. 彻底重装核心NuGet包
有时候包的缓存关联已经乱了,卸载重装是最直接的办法:
- 重新打开Visual Studio,加载解决方案
- 右键你的UWP项目 → 管理NuGet程序包
- 在“已安装”标签里找到
Microsoft.NETCore.UniversalWindowsPlatform,先点击卸载,等卸载完成后,再到“浏览”标签里找到它,安装和之前一致的版本 - 或者用包管理器控制台执行命令(版本号替换成你的):
Uninstall-Package Microsoft.NETCore.UniversalWindowsPlatform -Force Install-Package Microsoft.NETCore.UniversalWindowsPlatform -Version 6.2.14
4. 彻底清理并重新生成
常规清理可能不够彻底,得手动配合:
- 右键解决方案 → 清理解决方案
- 手动删除UWP项目文件夹下的
bin和obj两个文件夹(这两个是编译缓存,有时候会残留旧路径的垃圾) - 右键解决方案 → 还原NuGet包
- 最后右键解决方案 → 重新生成解决方案
额外注意点
以后再要重命名或移动UWP项目,尽量在Visual Studio里操作:
- 重命名项目:右键项目 → 重命名,VS会自动更新相关的引用和路径
- 移动项目:右键解决方案 → 添加 → 现有项目,选择移动后的项目文件,再删掉原来的旧项目引用,这样能避免大部分路径关联问题
内容的提问来源于stack exchange,提问作者SHIN JaeGuk




