Visual studio WNS推送通知在调试模式下失败,出现错误:从令牌提供程序获取的令牌错误
我有一个非常简单的Cordova应用程序,带有推送通知。我正在使用VS2015更新1和最新的Cordova工具集(更新7)以及正确设置的Azure应用程序服务。当我通过VS运行Win10 x64版本的应用程序时,我会收到预期的推送通知。但是,当我运行同一应用程序的调试版本(没有源代码更改)时,我不会收到推送通知,发送方会收到错误: 从令牌提供程序获取的令牌错误 这两个应用程序都是Windows 10,在本地计算机x64(不是模拟器)上运行 这种行为是不一致的。我还有另一个VS2015 Cordova项目,它在发布和调试模式下都可以很好地处理推送通知Visual studio WNS推送通知在调试模式下失败,出现错误:从令牌提供程序获取的令牌错误,visual-studio,cordova,azure,wns,Visual Studio,Cordova,Azure,Wns,我有一个非常简单的Cordova应用程序,带有推送通知。我正在使用VS2015更新1和最新的Cordova工具集(更新7)以及正确设置的Azure应用程序服务。当我通过VS运行Win10 x64版本的应用程序时,我会收到预期的推送通知。但是,当我运行同一应用程序的调试版本(没有源代码更改)时,我不会收到推送通知,发送方会收到错误: 从令牌提供程序获取的令牌错误 这两个应用程序都是Windows 10,在本地计算机x64(不是模拟器)上运行 这种行为是不一致的。我还有另一个VS2015 Cordo
VS或Azure中是否缺少控制此行为的某些设置?经过一天的挫折,我确定了调试和发布Windows应用商店软件包之间的VS2015行为差异。这可能是在Apache工具集的更新7中引入的 简而言之,VS2015未使用Windows应用商店发布者ID对调试包进行签名。这会导致某些功能(如推送通知)无法工作。要解决此问题,请编辑Cordova项目的build.json文件,并为调试版本添加一个条目,强制VS使用您的Windows应用商店发布者证书。完成后,该文件应如下所示(我的文件缺少调试部分)-当然,将您的Windows应用商店发布ID放入占位符中:
{
“窗口”:{
“释放”:{
“packageCertificateKeyFile”:“res\\native\\windows\\CordovaApp.pfx”,
“publisherId”:“CN=”
},
“调试”:{
“packageCertificateKeyFile”:“res\\native\\windows\\CordovaApp.pfx”,
“publisherId”:“CN=”
}
}
}
在一天的挫折之后,我确定了调试和发布Windows应用商店软件包之间的VS2015行为差异。这可能是在Apache工具集的更新7中引入的
简而言之,VS2015未使用Windows应用商店发布者ID对调试包进行签名。这会导致某些功能(如推送通知)无法工作。要解决此问题,请编辑Cordova项目的build.json文件,并为调试版本添加一个条目,强制VS使用您的Windows应用商店发布者证书。完成后,该文件应如下所示(我的文件缺少调试部分)-当然,将您的Windows应用商店发布ID放入占位符中:
{
“窗口”:{
“释放”:{
“packageCertificateKeyFile”:“res\\native\\windows\\CordovaApp.pfx”,
“publisherId”:“CN=”
},
“调试”:{
“packageCertificateKeyFile”:“res\\native\\windows\\CordovaApp.pfx”,
“publisherId”:“CN=”
}
}
}
{
"windows": {
"release": {
"packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx",
"publisherId": "CN=<InsertYourWinStorePubIdHere>"
},
"debug": {
"packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx",
"publisherId": "CN=<InsertYourWinStorePubIdHere>"
}
}
}