gpt4 book ai didi

windows-phone-8 - 如何在 Windows 8.1 Phone 的子目录中包含 "content"文件?

转载 作者:行者123 更新时间:2023-12-01 11:34:36 27 4
gpt4 key购买 nike

我正在做一个有很多文件的项目(一个游戏)。这些文件可以从 VS 2013 外部更改,例如由艺术家。这些文件位于子目录中,我们的游戏期望它们在那里。例如 images/items/block.png

我尝试过使用构建后事件

xcopy /C /Y /I /R /S /Q "$(SolutionDir)game_data\*" "$(TargetDir)"

还有 $(LayoutDir)。我们的桌面(Windows RT 商店)项目不会出现此问题,因为我只是将文件复制到构建的 AppX 目录,当我运行时,exe 会找到它们。但是对于 Windows Phone,不再有 AppX 目录,并且它不会将其复制到手机。

如何将 $(SolutionDir)game_data 中的文件和目录包含到手机上安装的包中?

最好是我的解决方案:
  • 不必在项目过滤器中重新创建整个子文件夹结构
  • 不必在每个文件的属性中指定“Content=Yes”
    每个子目录。
  • 不必添加或删除艺术家添加到目录中的任何新文件。
  • 最佳答案

    您需要尽早复制这些文件,以便将它们包含在 Appx 包中。您在桌面上构建后复制到 Appx 目录的解决方案仅限于构建机器,该机器直接从自己的文件夹中运行应用程序,而不是进行完整部署。由于这些文件不在部署包中,因此它们在其他系统上不可用。这在手机上更为明显,因为您总是需要在运行应用程序之前部署它,但最终都是一样的。

    手动方式是将文件包含在 Visual Studio 项目中。您可以将文件复制到项目目录,显示所有文件,然后选择并包含新文件。如果它们没有自动添加为内容(大多数图像类型,如您的示例中的 png),那么您需要明确设置,以便在构建时将它们包含在 appxpackage 中。

    这几乎是你说你不想要的场景。

    相反,您可以自动将项目添加到项目文件中。 vcxproj 文件是一个 XML 文件 ( scheme here ),您可以编写脚本将 Assets 文件添加到 ItemGroups在项目中并将它们标记为 DeploymentContent:

    <ItemGroup>
    <Image Include="images\items\block.png" />
    <None Include="Assets\frotz.foo">
    <DeploymentContent>true</DeploymentContent>
    </None>
    <None Include="Assets\wibble.foo">
    <DeploymentContent>true</DeploymentContent>
    </None>
    </ItemGroup>

    最后,您可以使用 makeappx.exe 自己创建 appxpackage,而不是让 Visual Studio 为您完成。这将使您可以完全控制包中的文件,包括从 VS 项目外部拉入它们的能力。见 App packages and deploymentApp package (MakeAppx.exe)文档。

    关于windows-phone-8 - 如何在 Windows 8.1 Phone 的子目录中包含 "content"文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28610893/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com