【问题标题】:How to set target path for content files in Visual Studio 2012如何在 Visual Studio 2012 中设置内容文件的目标路径
【发布时间】:2012-10-19 09:23:20
【问题描述】:

我正在使用 Visual Studio 2012 构建一个 Win8 风格的应用程序(metro 应用程序?)。我有一些需要与应用程序一起部署的资产文件(mp3 文件)。我需要它们在音乐文件夹中,比如$(app_path)\music\theme.mp3。当我从属性中将“内容”标志设置为“真”时,文件被复制为$(app_path)\theme.mp3

所以我想知道如何保留包含的内容文件的文件结构。

当我在 VS2012 中完成编译后手动将文件重新定位到各自的文件夹时,它可以工作。但我不想手动更新我的资产文件。资产文件更新后我会忘记手动更新它,这会带来风险。

【问题讨论】:

    标签: microsoft-metro windows-runtime visual-studio-2012


    【解决方案1】:

    部署应用后,您无需关心文件的位置。这些文件的路径由您的应用程序项目中的路径预先确定,因此如果您将文件放入 Assets 文件夹,您可以使用以下方式访问它们:

    StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(
        new Uri("ms-appx:///Assets/file.txt"));
    Stream stream = await file.OpenStreamForReadAsync();
    StreamReader sr = new StreamReader(stream);
    

    【讨论】:

    • 抱歉,我需要使用字符串“music/theme.mp3”访问它们。此外,在单独的文件夹下可能还有一个名为“theme.mp3”的文件,因此它们需要保持分离。这是一款多平台、100MB 以上的游戏。
    • 无论你创建什么样的应用程序,如果你想访问“[app_path]/music/theme.mp3中的文件,那么你必须使用我给你展示的调用。你可以创建某种用于打开文件的包装类,它将您的通用路径转换为带有 ms-appx:/// 前缀的系统路径。
    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 2011-08-18
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多