如何更改UWP应用程序文件夹名称或路径?

如何更改UWP应用程序文件夹名称或路径?,uwp,nuget,Uwp,Nuget,重命名UWP应用程序文件夹或更改其路径会导致“某些程序集引用丢失”错误。生成以还原NuGet缓存可能会解决此问题。” 创建UWP应用程序文件夹时,我可以在解决方案资源管理器的“引用”节点中看到Microsoft.NETCore.UniversalWindowsPlatform NuGet包,但重命名或移动文件夹后,该节点中没有NuGet包 我尝试构建和清除NuGet缓存,但没有任何变化。默认选中2个包还原选项。对于带有NuGet软件包的Windows窗体应用程序,不会再现该错误。如何解决此问题?

重命名UWP应用程序文件夹或更改其路径会导致“某些程序集引用丢失”错误。生成以还原NuGet缓存可能会解决此问题。”

创建UWP应用程序文件夹时,我可以在解决方案资源管理器的“引用”节点中看到Microsoft.NETCore.UniversalWindowsPlatform NuGet包,但重命名或移动文件夹后,该节点中没有NuGet包

我尝试构建和清除NuGet缓存,但没有任何变化。默认选中2个包还原选项。对于带有NuGet软件包的Windows窗体应用程序,不会再现该错误。如何解决此问题?

问题在于Visual Studio生成的临时文件。如果在UWP项目中打开obj文件夹,您将在那里找到几个与NuGet相关的文件。引起问题的是{AppName}.csproj.nuget.g.props。您可以看到,在这个文件中有一个指向project.assets.json文件的绝对路径:

当您将解决方案移动到另一个路径时,这将成为一个问题,因为该路径不再有效,因此无法使用

解决方案非常简单-关闭Visual Studio并从UWP项目中删除bin和obj文件夹


作为提示-安装Mads Kristensen为Visual Studio编写的Aweasome。每次关闭Visual Studio时,此扩展都会自动执行清理-它会折叠解决方案中的所有文件夹,并删除每个项目的bin和obj文件夹,因此每次都是从一块干净的石板开始的。

删除2个文件夹后修改文件或建筑中的路径可以完美解决此问题。谢谢
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">D:\PathToFile\obj\project.assets.json</ProjectAssetsFile>