C# Windows.Storage.ApplicationData.Current.LocalFolder.Path在正常调试和测试期间更改路径
我正在创建一个UWP应用程序,并使用Windows.Storage.ApplicationData.Current.LocalFolder.Path为路径创建了一个文件。在调试模式下,它有一个路径位置,然后在运行单元测试时,它有一个不同的路径位置,因此不会找到该文件,因为它是一个不同的位置。以前有人遇到过这种情况吗?我一直在搜索,没有看到它为什么在调试和调试单元测试之间这样做。每个项目都有不同的C# Windows.Storage.ApplicationData.Current.LocalFolder.Path在正常调试和测试期间更改路径,c#,visual-studio,unit-testing,uwp,C#,Visual Studio,Unit Testing,Uwp,我正在创建一个UWP应用程序,并使用Windows.Storage.ApplicationData.Current.LocalFolder.Path为路径创建了一个文件。在调试模式下,它有一个路径位置,然后在运行单元测试时,它有一个不同的路径位置,因此不会找到该文件,因为它是一个不同的位置。以前有人遇到过这种情况吗?我一直在搜索,没有看到它为什么在调试和调试单元测试之间这样做。每个项目都有不同的包族名称。并且LocalFolder.Path基于调试中的包族名称。您的调试项目包名是ecb2e31f
包族名称。并且LocalFolder.Path
基于调试中的包族名称。您的调试项目包名
是ecb2e31f-f0a6-4cc5-8aa9-8cd1b887d5ed
,而PublisherId
是2xgss9s9ewh1t
。因此,Package family name
是ecb2e31f-f0a6-4cc5-8aa9-8CD1B887D5ED2XGSS9s9ewh1t
。单元测试是另一个项目,因此它有一个不同的包族名称
。有关详细信息,请参阅
该文件夹由第一次调试创建。您可以在Package.appxmanifest
中更改Package name
。再次调试时,LocalFolder.Path
将更改。文件夹将更改为新的软件包系列名称
调试该文件夹时,单元测试项目无法创建该文件夹。但是它可以获取不存在的URI的LocalFolder.Path
这两条路径分别是什么?您可以将它们打印到某个地方的调试输出或日志文件中吗?您正在尝试使用系统路径或相对于LocalFolder?正常的调试路径为:C:\Users\Home\AppData\Local\Packages\ecb2e31f-f0a6-4cc5-8aa9-8cd1b887d5ed\2xgss9s9ewh1t\LocalState测试为我提供:C:\Users\Home\AppData\Local\Packages\c110be4d-26ac-4a4e-9c34-952c8f5ebd9d\u 2xgss9s9ewh1t\localstate为什么您的单元测试需要来自应用程序的LocalFolder
的文件?单元测试应该初始化所有需要的数据本身。