如何在 Visual Studio 2015 中覆盖 Cordova 应用程序的 .projitems 文件
How to Override .projitems-files of a Cordova App in Visual Studio 2015
我在 Visual Studio 2015 年建立了一个 "Tools for Apache Cordova"-项目。我有几个针对 Windows 平台的覆盖。为此,我在文件夹 res/native/windows 中放置了一些 appxmanifest 文件。构建应用程序时,这些文件会复制到输出目录并使用而不是默认文件。
然后我对以下文件进行了同样的尝试:
- CordovaApp.projitems
- CordovaAppDebug.projitems
- CordovaAppRelease.projitems
CordovaApp.projitems 被正确复制和使用,就像 appxmanifest 文件一样。但似乎没有复制和使用 CordovaAppDebug 或 CordovaAppRelease(取决于构建)。相反,它使用一些默认文件。
我真的想用另一个证书签署我的应用程序。证书在 CordovaAppDebug.projitems 和 -Release.projitems 文件中指定。但是由于从未使用过这些文件,VS 使用默认证书构建应用程序。
我已经找到了解决方法,但有点令人困惑:
我可以将证书设置添加到 CordovaApp.projitems 文件中。似乎在该文件中所做的设置将覆盖在调试或发布中指定的设置。烦人的部分是,它仍然创建并复制默认值 CordovaApp.pfx - 即使它没有被使用。
一些问题:
- 为什么文件 CordovaAppDebug.projitems 和 CordovaAppRelease.projitems 没有在构建中复制和使用?
- 我该如何解决这个问题,以便我可以根据调试和发布使用不同的配置?
这些文件由Cordova自己管理,不能直接修改。但是,它们的生成方式是通过最新版本的 Cordova 中的一项新功能。
你想为你描述的场景做的实际上是在项目的根目录中放置一个 build.json 文件,其中包含以下内容:
{
"windows": {
"debug": {
"packageCertificateKeyFile": "Certificate-Debug.pfx"
},
"release": {
"packageCertificateKeyFile": "Certificate-Release.pfx"
}
}
}
您还可以为证书文件指定 "publisherId" 以及“packageThumbprint”。
此文件的支持已在 Android 中可用了一段时间,Cordova 5.3.3 实际上也添加了对 iOS 的支持。
我在 Visual Studio 2015 年建立了一个 "Tools for Apache Cordova"-项目。我有几个针对 Windows 平台的覆盖。为此,我在文件夹 res/native/windows 中放置了一些 appxmanifest 文件。构建应用程序时,这些文件会复制到输出目录并使用而不是默认文件。
然后我对以下文件进行了同样的尝试:
- CordovaApp.projitems
- CordovaAppDebug.projitems
- CordovaAppRelease.projitems
CordovaApp.projitems 被正确复制和使用,就像 appxmanifest 文件一样。但似乎没有复制和使用 CordovaAppDebug 或 CordovaAppRelease(取决于构建)。相反,它使用一些默认文件。
我真的想用另一个证书签署我的应用程序。证书在 CordovaAppDebug.projitems 和 -Release.projitems 文件中指定。但是由于从未使用过这些文件,VS 使用默认证书构建应用程序。
我已经找到了解决方法,但有点令人困惑: 我可以将证书设置添加到 CordovaApp.projitems 文件中。似乎在该文件中所做的设置将覆盖在调试或发布中指定的设置。烦人的部分是,它仍然创建并复制默认值 CordovaApp.pfx - 即使它没有被使用。
一些问题:
- 为什么文件 CordovaAppDebug.projitems 和 CordovaAppRelease.projitems 没有在构建中复制和使用?
- 我该如何解决这个问题,以便我可以根据调试和发布使用不同的配置?
这些文件由Cordova自己管理,不能直接修改。但是,它们的生成方式是通过最新版本的 Cordova 中的一项新功能。
你想为你描述的场景做的实际上是在项目的根目录中放置一个 build.json 文件,其中包含以下内容:
{
"windows": {
"debug": {
"packageCertificateKeyFile": "Certificate-Debug.pfx"
},
"release": {
"packageCertificateKeyFile": "Certificate-Release.pfx"
}
}
}
您还可以为证书文件指定 "publisherId" 以及“packageThumbprint”。
此文件的支持已在 Android 中可用了一段时间,Cordova 5.3.3 实际上也添加了对 iOS 的支持。