Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows.Storage.ApplicationData.Current.LocalFolder.Path在正常调试和测试期间更改路径_C#_Visual Studio_Unit Testing_Uwp - Fatal编程技术网

C# 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

我正在创建一个UWP应用程序,并使用Windows.Storage.ApplicationData.Current.LocalFolder.Path为路径创建了一个文件。在调试模式下,它有一个路径位置,然后在运行单元测试时,它有一个不同的路径位置,因此不会找到该文件,因为它是一个不同的位置。以前有人遇到过这种情况吗?我一直在搜索,没有看到它为什么在调试和调试单元测试之间这样做。

每个项目都有不同的
包族名称。并且
LocalFolder.Path
基于调试中的
包族名称。您的调试项目
包名
ecb2e31f-f0a6-4cc5-8aa9-8cd1b887d5ed
,而
PublisherId
2xgss9‌​s9ewh1t
。因此,
Package family name
ecb2e31f-f0a6-4cc5-8aa9-8CD1B887D5ED2XGSS9‌​s9ewh1t
单元测试是另一个项目,因此它有一个不同的
包族名称
。有关详细信息,请参阅

该文件夹由第一次调试创建。您可以在
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
的文件?单元测试应该初始化所有需要的数据本身。