【问题标题】:Cordova cannot release application to Windows Phone StoreCordova 无法将应用程序发布到 Windows Phone 商店
【发布时间】:2025-11-30 12:55:02
【问题描述】:

彻底搜索这个网站确实找到了我的问题(来自不同的用户),但没有答案,所以我想问自己:

背景:使用 Apache Cordova 4.x 和 Visual Studio 2013(所有最新更新)。使一些应用程序(在 Android 和其他平台上运行良好)成功部署到 Windows Phone 8.1。已将捆绑包上传到手机商店,但打包的应用程序 ID 与商店期望的不匹配存在问题。

详细信息:问题是商店将我的应用(之前保留)命名为“12345myname.appname”,但在 Config.xml 中,应用 ID 为“com.myname.appname”。将小部件 id 或 appid 或包 id 重命名为 12345myname.appname”失败,原因是:错误 48 文件内容不符合指定的架构。'Id' 属性无效 ...'http://schemas.microsoft.com/appx/2010/manifest:ST_ApplicationId'.. .

我知道这个错误是什么,但我已经用尽了所有可能的方法来解决它(cordova 的 create.js 具有正确的正则表达式 - 无需更改它,将 appx 清单放在 res/native/windows 中,直接编辑appx 清单,使用其他配置文件等...)没有任何作用。我一定遗漏了一些绝对明显的东西。

vs:platformspecific 设置确实包含正确的商店发布者 ID 和 appid,但这在某种程度上并未用于构建包,我假设作为清单的构建后检查显示包上的商店 ID 不正确,即使我在自定义清单上覆盖它(重新打包捆绑包时会忽略自定义清单)

谁能提供一些见解?开始听起来像是 Cordova 或 VS 构建捆绑包有问题,但我认为问题出在我身上,而我没有做。

【问题讨论】:

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


    【解决方案1】:

    好吧,在为这么简单的事情(最终)头痛之后,我确实找到了这个问题的答案。可以在此处 (http://www.spdoctor.net/Pages/article.aspx?name=Using-Visual-Studio-Tools-for-Apache-Cordova) 找到确切的答案,并感谢那篇文章 - 非常感谢!

    简而言之...在您构建通用解决方案(WP8、WP8.1 和 Windows 8.1)后,进入 BLD/RELEASE/PLATFORM/WINDOWS 文件夹,您将找到“cordova.sln”Visual Studio 解决方案。在 Visual Studio 中打开它(暂时忽略您自己的解决方案,只需单独打开那个),您将看到一个包含三个目标 Windows 平台的共享通用项目。

    每个项目目标都有一个清单文件。然后双击以在设计模式下打开(执行所有三个清单)并转到包装选项卡,就像原生应用程序一样。在那里,将您的应用程序 ID 的名称更改为正确的商店 ID (12345You.YourApp)。

    然后使用 Visual Studio(右键单击这 3 个项目之一,例如 Windows Phone 8.1)并选择 STORE 选项,然后为商店关联并创建包 - 创建一个捆绑包并将其上传到商店。问题解决了,如果您也有 android 或 IOS 目标,这不会弄乱您自己的项目。

    正如作者所指出的,Cordova 4.x 和 VS CTP 3.1 存在一些错误,因此这似乎是目前解决此问题的唯一方法。我也已经安装了 Intel XDK 并在那里成功构建了我的应用程序 :) 我离完全放弃只有一步之遥......

    真的,这可能会更好地记录下来,但好吧,我不想抱怨......我对 Cordova 完全陌生,所以我可能完全错过了某个地方的明显解释......这是 CTP/Beta也是,所以我会给它一个通行证...

    【讨论】:

    • 感谢分享这个 Madvox。尝试安装此plugin 并查看它是否能解决您的问题。
    • 感谢您的评论。我最终没有尝试该插件,只是因为我自己上面的回答确实解决了我的问题,但我非常感谢您抽出宝贵的时间。我有另一个观察结果,以防它帮助其他人 - 我不愿意使用 VS 2015 CTP 重建我的项目,因为我不喜欢在最终应用程序中使用 beta 或预览技术,但我最近下载并使用 VS 重建了我的项目2015 RC,我必须说,他们已经彻底清理了这个过程。使用最新的 RC 时,我没有任何问题。所以 VS 2013 中出现了一些问题,而 2015 年并非如此。
    • 太棒了!感谢您的反馈。
    • @SubhagOak 您链接到的插件不起作用。它花了 20 分钟尝试安装它,然后当我尝试取消它时,它冻结并崩溃了我的 VS 版本。仅供参考。
    • @SubhagOak 仔细检查您的插件所做的是递归地创建插件目录,然后无限地创建“com.chuxel.taco-tricks.windows-package-fix”。我现在无法加载项目,也无法删除插件,所以...谢谢。
    【解决方案2】:

    最简单的方法是添加这一行:

    <preference name="WindowsStoreIdentityName" value="YOUR_ID" />
    

    config.xml中windows平台标签的末尾

    【讨论】:

      最近更新 更多