【问题标题】:How to copy a file from Visual Studio project to UWP application's LocalFolder on build如何在构建时将文件从 Visual Studio 项目复制到 UWP 应用程序的 LocalFolder
【发布时间】:2023-03-17 00:45:02
【问题描述】:

我有一个 Xamarin 解决方案,其中包含一个 UWP 项目。我无法理解如何将 VS 项目中的文件复制到 UWP LocalFolder。我尝试摆弄文件的构建操作(编译、内容、嵌入式资源、附加文件),并尝试手动创建此位置。

显然这段代码:

Windows.Storage.StorageFolder appDataFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

string fileName = (appDataFolder.Path + "\\HighScore.csv");

创建此路径:

'C:\Users\<my Name>\AppData\Local\Packages\ebf29fcf-0080-4b4c-b873-78fd1340811d_9tywq191txc1p\LocalState\HighScore.csv'

所以我只需要弄清楚如何将我项目中的 CSV 文件放到这个 LocalState 文件夹中。任何帮助表示赞赏。

【问题讨论】:

  • 它会被复制到你的Package.InstallLocation,如果你需要在运行时修改文件,你需要手动复制到LocalFolder

标签: c# xamarin uwp


【解决方案1】:

首先,将 .csv 文件添加到您的资产文件夹并将构建操作设置为 Content

之后,您可以在运行时使用以下 sn-p 手动将文件从 Assets 复制到本地文件夹。

var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/HighScore.csv"));
 if (file != null)
 {
     // Copy .csv file to LocalFolder so we can read / write to it.
     // No CollisionOption will default to Fail if file already exists,
     // to copy every time the code is run, add NameCollisionOption.ReplaceExisting
     await file.CopyAsync(ApplicationData.Current.LocalFolder);

     // Get path of newly created file
     String newFile = ApplicationData.Current.LocalFolder.Path + "/HighScore.csv";
 }

【讨论】:

  • 完美,谢谢。没想到它本来就是这么复杂和隐藏的。
  • 欢迎来到 UWP! :P
【解决方案2】:

你可以输入一些代码来复制它:

// This would point to (in respect to your build platform target):
// C:\Users\User\Source\Repos\MyAwesomeApp\MyAwesomeApp.UWP\bin\x64\Debug\AppX
Uri uri = new Uri("ms-appx:///HighScores.csv");


// throws Exception if file doesn't exist
var file = await StorageFile.GetFileFromApplicationUriAsync(uri);


// copy the file to the package:
await file.CopyAsync(ApplicationData.Current.LocalFolder);

这就是它的要点。希望它对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    相关资源
    最近更新 更多