Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8.1 如何将.appx部署到Windows Phone 8.1中_Windows Phone 8.1_Connectivity_Smart Device Framework - Fatal编程技术网

Windows phone 8.1 如何将.appx部署到Windows Phone 8.1中

Windows phone 8.1 如何将.appx部署到Windows Phone 8.1中,windows-phone-8.1,connectivity,smart-device-framework,Windows Phone 8.1,Connectivity,Smart Device Framework,我使用Microsoft.SmartDevice.Connectivity连接到Windows Phone 8.1操作系统,使用此链接中的说明: 现在我可以连接到Windows Phone 8.1 Emulator或Windows Phone 8.1设备,并且可以使用它们的ProductID启动任何应用程序。 所以现在我想用这个框架安装我在这些设备上开发的应用程序。我知道WP8.1的XAP包是一个.appx文件。要在此框架中安装1个应用程序,我使用以下InstallApplication方法:

我使用Microsoft.SmartDevice.Connectivity连接到Windows Phone 8.1操作系统,使用此链接中的说明: 现在我可以连接到Windows Phone 8.1 Emulator或Windows Phone 8.1设备,并且可以使用它们的ProductID启动任何应用程序。 所以现在我想用这个框架安装我在这些设备上开发的应用程序。我知道WP8.1的XAP包是一个.appx文件。要在此框架中安装1个应用程序,我使用以下InstallApplication方法:

 IRemoteApplication remoteApplication = iDevice.InstallApplication(appID, appID, applicationGenre, iconPath, xapPackage);
哪个appID是ProductID,我在Package中找到了它。appxmanifest页面是: 556ee9d4-5640-4120-9916-44b1ca27352f 但我得到的例外是:

"An unhandled exception of type 'Microsoft.SmartDevice.Connectivity.SmartDeviceException' occurred in Microsoft.Smartdevice.Connectivity.dll

Additional information: An attempt was made to move the file pointer before the beginning of the file."
当我使用Visual Studio提供的应用程序部署工具时,可以安装此应用程序,但当我使用connectivity framework时,无法安装它。 那么,如何使用连接框架安装此应用程序?
请帮帮我。谢谢您的帮助。

是的,SmartDevice的v11版本已经过时。连接将无法部署APPX。您需要V12来部署APPX。API是如此的不同,即使部署WP8.1 APPX的工具与部署WP7-WP8.0 XAPs的工具是不同的

无论如何,您可以使用以下C代码部署Windows Phone 8.1 APPX:

静态环[]args { //步骤1:添加引用。 //-将DLL引用添加到:C:\Program Files x86\Microsoft SDK\Windows Phone\v8.1\Tools\AppDeploy\Microsoft.Phone.Tools.Deploy.DLL //GAC引用隐含在安装了VS2013/VS2014以及WP8.1开发工具的计算机上。 //-GAC参考:Microsoft.Phone.Tools.Common,版本=8.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35 //-GAC参考:Microsoft.SmartDevice.Connectivity.Interface,版本=12.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a //-GAC参考:Microsoft.SmartDevice.MultiTargeting.Connectivity,版本=12.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a 尝试 { //步骤2:获取设备 var devices=Utils.GetDevices; Console.WriteReportable可用于部署的设备:; 设备中的foreach var deviceInfo { Console.WriteLine\t+deviceInfo.ToString; } //步骤3:选择一个设备 var device=devices.FirstOrDefaultd=>d.ToString==Emulator 8.1 1080P 6英寸; 如果设备==null 回来 Console.writelineuising设备:+device.ToString; //步骤4:选择XAP、部署选项和清单 字符串appxFileUri=@D:\Users\Justin angle\Documents\Visual Studio 2013\Projects\App15\AppPackages\App15\u 1.1.0.0\u AnyCPU\u Test\App15\u 1.1.0.0\u AnyCPU.appx; IAppManifestInfo manifestInfo=Utils.ReadAppManifestInfoFromPackageappxFileUri; DeploymentOptions DeploymentOptions=DeploymentOptions.None; //步骤5:部署 Console.writelineeatting部署:+manifestInfo.Name+from+appxFileUri; Utils.InstallApplicationdevice、manifestInfo、deploymentOptions、appxFileUri; Console.WriteLine已成功部署; } 捕获异常 { Console.WriteLineFailed要部署; } Console.ReadKey; } 当我尝试运行此应用程序时,APPX已成功部署到我的机器上,一切正常,应用程序已按预期安装

如果您想在SD卡上安装Windows Phone 8.1 Emulator/Device automation、删除、企业级安装等,让您更喜欢它,您可以使用不同的部署选项:

命名空间Microsoft.Phone.Tools.Deploy { [旗帜] 公共枚举部署选项 { 无=0, PA=1, 调试=2, 注入=4, 亮度=8, 企业=16, 侧载=32, TypeMask=255, 卸载禁用=256, SKIPUPDATEAPPINFOREGORND=512, DeleteXap=1024, 安装数D=65536, OptOutSD=131072, } }
如果您需要一个选项较少的简单部署,那么命令行AppDeployCmd随wp8.1 SDK工具一起提供,并且工作得非常好—易于自动化。如果您需要有关如何使用multidevice.connectivity程序集的提示,也可以使用dotpeek或reflector对其进行反编译。是否有方法将appx部署到已运行的仿真器?