【问题标题】:windows phone 8 Cordova - placing a file in a different pathwindows phone 8 Cordova - 将文件放在不同的路径中
【发布时间】:2026-01-19 21:50:01
【问题描述】:

我对 VisualStudio 非常陌生,并且将 cordova/phonegap 应用程序从 android 移植到 windows phone 8。

所以我使用 createTemplates.bat 创建了一个新项目并将其导入到我的 VS2012 Express 中。

核心结果是一个www文件夹,其中包含img/css/jsindex.html;它工作正常,我设法启动它并在我的设备上部署。

由于应用程序很大,我想创建一个新的子文件夹调用 subfold(在 img 下),并将 picture.jpg 放在那里,以便在 solutionExplorer 中我有 img/subfold/picture.jpg(即使它是隐藏的);但我不能使用图片.jpg,但如果它在 img 中,我可以使用它。

  • 我该怎么做?是 VS 2012 的限制吗?

我 100% 确定我使用了正确的路径。 另一个值得注意的事情是,在 SolutionExplorer 视图中,子文件夹及其内容被禁用(查看下面的“attivita”)并且 Build Action 属性 在它存在时不存在,如果图像设置为“内容”在img里面

【问题讨论】:

  • 右键单击/img文件夹并检查其属性,并将它们与/subfold文件夹的属性进行比较。让我知道是否有任何差异。
  • 两个属性菜单没有区别,每个人都只包含杂项/文件夹名称
  • 当您尝试引用图像文件时遇到什么错误?
  • 为什么文件夹会出现这样的幻影?你是如何创建文件夹的?您是从 Visual Studio 解决方案资源管理器中创建的,还是从 Windows 文件资源管理器中创建的?
  • 我复制了android项目的文件夹,所以从Windows资源管理器中......这可能是问题,谢谢

标签: visual-studio-2012 cordova windows-phone


【解决方案1】:

从屏幕截图中我可以看到文件夹的图标被重影了,这意味着该文件夹存在于文件目录中,但不包含在 Visual Studio 解决方案中。您可以右键单击该文件夹并选择将文件夹包含在解决方案中的选项。您可能还需要通过解决方案资源管理器将文件夹中的每个项目添加到解决方案中。

【讨论】:

    【解决方案2】:

    您可以使用 Windows Phone 的绝对路径而不是 www 文件夹,这是我为 Android Windows Phone8 和 iPhone 编写的内容

    if( /Android|BlackBerry Mini/i.test(navigator.userAgent) ) {
        //android absolute path
        path = cordova.file.applicationStorageDirectory;
    } else if (isWindowsPhone) {
        //windows phone absolute path
        path = "//";
    } else {
        //iphone absolute path
        path = cordova.file.documentsDirectory;
    }
    

    【讨论】:

      最近更新 更多