如何在Visual Studio 2015中覆盖Cordova应用程序的.projitems文件

如何在Visual Studio 2015中覆盖Cordova应用程序的.projitems文件,cordova,windows-store-apps,visual-studio-2015,visual-studio-cordova,Cordova,Windows Store Apps,Visual Studio 2015,Visual Studio Cordova,我在Visual Studio 2015中建立了一个“Apache Cordova工具”项目。我有几个Windows平台的覆盖。为此,我在res/native/windows文件夹中放置了一些appxmanifest文件。构建应用程序时,这些文件将复制到输出目录并使用,而不是默认文件 然后,我对以下文件进行了相同的尝试: CordovaApp.projitems CordovaAppDebug.projitems cordovaapplease.projitems CordovaApp.pr

我在Visual Studio 2015中建立了一个“Apache Cordova工具”项目。我有几个Windows平台的覆盖。为此,我在res/native/windows文件夹中放置了一些appxmanifest文件。构建应用程序时,这些文件将复制到输出目录并使用,而不是默认文件

然后,我对以下文件进行了相同的尝试:

  • CordovaApp.projitems
  • CordovaAppDebug.projitems
  • cordovaapplease.projitems
CordovaApp.projitems被正确复制和使用,就像appxmanifest文件一样。但似乎没有复制和使用CordovaAppDebug或cordovaapplease(取决于构建)。相反,它使用一些默认文件

我真的想用另一个证书为我的应用程序签名。该证书在CordovaAppDebug.projitems和-Release.projitems文件中指定。但由于这些文件从未使用过,VS使用默认证书构建应用程序

我已经找到了一个解决方法,但有点让人困惑: 我可以将证书设置添加到CordovaApp.projitems文件中。该文件中的设置似乎将覆盖调试或发布中指定的设置。令人恼火的是,它仍然创建和复制默认的CordovaApp.pfx,即使没有使用它

一些问题:

  • 为什么在构建中没有复制和使用文件CordovaAppDebug.projitems和cordovaapplease.projitems
  • 如何解决这个问题,以便根据调试和发布使用不同的配置

这些文件由Cordova自己管理,不能直接修改。但是,它们的生成方式是通过Cordova最新版本中的新功能实现的

对于您描述的场景,您要做的实际上是在项目的根目录中放置一个build.json文件,其中包含以下内容:

{
   "windows": {
     "debug": {
        "packageCertificateKeyFile": "Certificate-Debug.pfx"
     },
     "release": {
        "packageCertificateKeyFile": "Certificate-Release.pfx"
     }
   }
}
您还可以为证书文件指定“publisherId”和“”


Android对该文件的支持已有一段时间了,Cordova 5.3.3实际上也增加了对iOS的支持。

我最终使用了如您所述的PackageHumbprint和publisherId。工作起来很有魅力!我正在使用build.json来指定publisherid,但由于appmanifest文件中没有它,所以没有考虑它。但当我通过命令行提供时,它就可以工作了。知道要使用什么命令来构建以包含build.json发行版吗