无法从 Cordova 项目创建 Windows Phone appx 包

Can't create Windows Phone appx bundle from Cordova project

我需要为 Windows Phone Store 创建一个 appxbundle 文件,但不幸的是,Visual Studio 2015 RC Cordova 工具仅使用 appx 文件构建 appxupload。 Cordova 版本是 5.0.0.

我从 中找到了两个解决方法。

不幸的是,其中 none 个正在运行。第一个

1.) Another way to create appx bundle is to modify the jsproj (project file) by adding following properties and then building the project.

 <AppxBundle>Always</AppxBundle>
 <AppxBundlePlatforms>neutral</AppxBundlePlatforms>

like

<PropertyGroup>
    <TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
    <TargetPlatformVersion>8.1</TargetPlatformVersion>
    <RequiredPlatformVersion>8.1</RequiredPlatformVersion>
    <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
    <DefaultLanguage>en-US</DefaultLanguage>
    <PackageCertificateKeyFile>CordovaApp_TemporaryKey.pfx</PackageCertificateKeyFile>
    <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
    <AppxBundle>Always</AppxBundle>
    <AppxBundlePlatforms>neutral</AppxBundlePlatforms>
  </PropertyGroup>

仍在从 Project > Store > Create App Packages 选项和常规构建构建一个 appxupload 文件。

第二个

  1. Open native project -- after building the project, you will find native project under platforms\windows directory.
  2. In native project, you can use Create App Package wizard to specify that you want to create Bundle.

无法正常工作,因为我在构建过程中遇到以下错误

Severity    Code    Description Project File    Line
Error       Build: File 'path\to\cordova\project/windows/www/app/app.js' must have extension '.ts' or '.d.ts'.  CordovaApp.Phone    path\to\cordova\project\platforms\windows\VSTSC 1
Error       Build: File 'path\to\cordova\project/windows/www/app/otherFile.js' must have extension '.ts' or '.d.ts'.    CordovaApp.Phone    path\to\cordova\project\platforms\windows\VSTSC 1
Error       Build: File 'path\to\cordova\project/windows/www/app/file.html' must have extension '.ts' or '.d.ts'.   CordovaApp.Phone    path\to\cordova\project\platforms\windows\VSTSC 1
(...)

如何解决这些错误?如何生成 appxbundle 文件?我可以在 VS 之外从命令行以其他方式进行吗?


更新: 因此,我想出了如何通过在以下行中设置 Condition="False" 来禁用项目中的 TypeScript 编译器:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="False" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.jsproj.targets" Condition="False" />

之后我可以构建项目,但创建应用程序包会导致此错误:

    Severity    Code    Description Project File    Line
Error       0x80080204 - The specified package format is not valid: The package manifest is not valid.  CordovaApp.Phone    X:\Work\Partner Program\mobile\PartnerProgramMobile\platforms\windows\MakeAppx  1
Error       Manifest validation error: Line 21, Column 54, Reason: The file name "www\index.html" declared for element "m:Applications/m:Application" doesn't exist in the package. CordovaApp.Phone        X:\Work\Partner Program\mobile\PartnerProgramMobile\platforms\windows\MakeAppx  1
Error       Package creation failed.    CordovaApp.Phone    X:\Work\Partner Program\mobile\PartnerProgramMobile\platforms\windows\MakeAppx  1

www/index.html 文件存在。我该如何解决?

人们在手动将 cordova 升级到 5.0.0 后使用 vs2015 时遇到问题。

这意味着您的问题并不是 5.0.0 的唯一问题。相信还是等正式升级比较好吧

试用原版4.3.0