Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
C# 如何将.net WinForms应用程序转换为Windows 10 Mobile?_C#_.net_Winforms_Windows Mobile - Fatal编程技术网

C# 如何将.net WinForms应用程序转换为Windows 10 Mobile?

C# 如何将.net WinForms应用程序转换为Windows 10 Mobile?,c#,.net,winforms,windows-mobile,C#,.net,Winforms,Windows Mobile,我有一个编辑一些文件的程序。它使用.NET4.0。有树视图、文本框和按钮。它不使用任何系统功能。它主要进行字节转换、序列化和文件保存 我从未为移动平台编写过代码,这对我来说是全新的。现在我需要让我的程序运行在装有Windows10Mobile的MicrosoftLumia智能手机上。对我来说有什么简单的方法吗?就像用另一个目标框架简单地重新编译一样?我不想重新设计GUI等。这是不可能的,因为这两种产品之间的差异太大了(例如,大多数win32/UWP api在windows phone上不可用)。

我有一个编辑一些文件的程序。它使用.NET4.0。有树视图、文本框和按钮。它不使用任何系统功能。它主要进行字节转换、序列化和文件保存


我从未为移动平台编写过代码,这对我来说是全新的。现在我需要让我的程序运行在装有Windows10Mobile的MicrosoftLumia智能手机上。对我来说有什么简单的方法吗?就像用另一个目标框架简单地重新编译一样?我不想重新设计GUI等。

这是不可能的,因为这两种产品之间的差异太大了(例如,大多数win32/UWP api在windows phone上不可用)。但是,如果您想为通用Windows桌面平台“重新打包”winforms应用程序,则这是可能的

微软有一个名为WindowsBridge的工具包。它允许您将现有二进制文件(包括winforms)重新打包到通用windows应用程序中。可以找到将winforms应用程序转换为通用Windows应用程序的文档

在重新打包应用程序之前,请注意以下要求/注意事项

  • winforms应用程序必须以.Net framework 4.6.1为目标
  • winforms应用程序不能使用提升模式
  • 转换后创建的UWP应用程序仅在Windows(10)桌面上运行

检查完整要求

WinForms和Windows Mobile是两个完全不同的UI界面,基于两个完全不同的UI框架。你需要重新设计GUI。VisualStudio有一个内置的android项目,它使用Xamarin来实现这一点。不确定是否可以加载预先存在的项目并保留GUI,那么您只需要查看代码,或者visual studio中存在一些神圣的转换器加载项就可以为您执行此操作。@Steve-ouch,这一点都不好。谢谢如何为Windows 10 Mobile开发?我在VS 2013社区中没有看到这样的选项。这应该对VS 2013社区@P.Pat有所帮助-谢谢,这看起来很有用。虽然这是一个有价值的信息,但问题是关于Windows Mobile(Phone)10的。所以Windows Bridge是无用的。@josef直到我发布了我的答案,我才意识到这一点。。。如果给出的信息无效,我是否应该删除答案?因为我确实提到了可以成为攻击目标的平台。@josef-Huh?微软说我们可以在任何地方运行UWP程序,包括手机。你是说这不是我在手机上运行程序的方式?@kosmos是的,本地UWP应用程序确实无处不在。但是你的应用程序使用windows窗体。表单依赖于手机上不存在的特定于桌面的dll。这就是它无法工作的原因。第一个链接告诉您可以将桌面表单应用程序转换为UWP for Desktop。后来它说“你可以逐渐将他们的代码迁移到通用Windows平台,以覆盖所有Windows 10设备,包括手机、Xbox One和HoloLens。”。因此,如果代码很难在UWP中重新编写,我会尝试一下。