重命名UWP app文件夹或更改其路径会导致错误'缺少某些程序集引用。构建以恢复NuGet缓存可能会解决此问题。'
当我创建UWP app文件夹时,我可以在解决方案资源管理器的引用节点中看到Microsoft.NETCore.UniversalWindowsPlatform
NuGet包,但在重命名或移动文件夹后,节点中没有NuGet包。
我尝试构建和清除NuGet缓存但没有任何变化。默认情况下会选中2个“包还原”选项。对于带有NuGet包的Windows窗体应用程序,不会再现错误。我该如何解决这个问题呢?
答案 0 :(得分:1)
问题在于Visual Studio生成的临时文件。如果您打开UWP项目中的obj
文件夹,您会在那里找到与NuGet相关的几个文件。导致您的问题的是{AppName}.csproj.nuget.g.props
。您可以看到此文件内部有project.assets.json
文件的绝对路径:
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">D:\PathToFile\obj\project.assets.json</ProjectAssetsFile>
当您将解决方案移动到另一个路径时,这会成为一个问题,因为此路径不再有效,因此无法使用。
解决方案非常简单 - 关闭Visual Studio并从UWP项目中删除bin
和obj
文件夹。
作为提示 - 通过 Mads Kristensen 安装 awesome Clean Solution extension for Visual Studio 。每次关闭Visual Studio时,此扩展程序都会自动执行清理 - 折叠解决方案中的所有文件夹,并删除bin
和obj
文件夹每个项目,所以每次都是以干净的石板开始。