PI 3上的Windows .net程序



我在笔记本电脑上编写了一个"AI"风格的程序,它大部分都可以工作。 笔记本电脑运行的是Windows 7,它是用VS2017编写的。 然而,我真的不希望它只存在于我的笔记本电脑上,所以我想我会买一个 PI-3 并让它在那里用于家庭自动化目的。 然而,事后看来,我读到我无法在Windows 10笔记本电脑上开发Windows 7 Iot,这是我编写原始程序的内容。 在 PI 上运行它的最佳方法是什么。对单声道不够熟悉。我确实尝试过一次在我的Mac上以单声道打开我的程序,但我想要的一些重要的东西,例如语音合成无法正常工作。 任何建议或指南将不胜感激。

我已经成功地将一个主要应用程序(100 + 表单,附加到具有 200+ 表和 500+ 存储过程的数据库(通过 Mono 移植到运行 Raspbian 的 Pi。 像你一样,我一开始相当乐观地尝试复制二进制文件,因为它被宣传为二进制兼容。 它立即崩溃了。

幸运的是,我坚持了下来。 首先要做的是让 Mono Development 在您的 Pi 上启动并运行。 然后创建自己的小型演示应用程序,以测试应用程序所需的每种技术。 Mono Develop 调试器的工作方式与 Visual Studio 一样,甚至可以使用相同的功能键。 因此,很容易找到有效的东西,不起作用的东西以及需要解决方法的东西。 一旦我确定了所有这些,我确实能够构建在两个操作系统上运行的二进制兼容exe/dll。 当然,您可能会发现缺少一些"交易破坏者"的东西。

请注意,Mono Develop没有用于Winforms的GUI设计器,因此您最好在VS中设计表单,然后传输源代码,以便在Mono Develop下进行调试。 您可以传输整个解决方案,因为 Mono 开发正确读取 VS .sln 文件。

根据我的经验,有几点需要注意:

  • 将你的构建设置为 X86;你将遇到的问题比 Any 少得多。
  • DataGridView对于只读很好,但是对于写入来说已经损坏了(或者至少在我使用的最后一个Mono版本中是这样(
  • 确保所有代码都是托管 C#。 使用第三方软件时,请检查是否相同。 我从第三方软件中发现了几个问题,这些软件声称提供.Net库,但实际上只是包装器。
  • CultureInfo实施得很差。 如果您对本质上的 US-en 区域设置感到满意,您应该没问题。 对于外语支持,您必须在某些地方提供自己的语言支持。

总的来说,我对Mono所做的工作印象深刻。 我已经能够将Pi上的应用程序连接到运行MS SQL Server,PostgreSQL和Oracle的Windows服务器,以及在本地托管PostgreSQL。 Pi 3运行Raspbian的速度也令人印象深刻。 我鼓励你试一试。

相关内容

最新更新