2017-05-31 261 views
-1

我工作的公司有一个在德尔福90年代为管理员工而开发的应用程序。由于该公司没有可用的delphi开发人员,因此我被指派使用mvvm模式在C#/ WPF中开发它。使用WineBottler在Mac上的WPF应用程序

经过5个月的开发,.NET版本具有与旧应用程序相同的功能,并且具有较少的错误和一些不错的附加功能。所以我标签的释放,得到它在我的部门测试,并将其发送到其他地区的其他部门......

然后,我收到一封电子邮件从CEO的惊吓问题:这是如何工作我的MAC?

显然,产品负责人忘记提及只有我们的部门与Windows PC和所有其他部门一起使用Mac PC。旧的delphi应用程序在这些部门的Winebottler下工作,产品负责人认为这对.NET应用程序来说不成问题。

当你看到不同的网站,你可以看到它可以使用Winebottler工作,但这不是保证。在将它包装在Whinebottler中之后,它不起作用。我没有MAC PC,所以我需要将代码发送给另一个部门(和城市)的同事,以便他可以收集代码并查看更改是否有效。

所以我的问题是,开发应用程序时需要避免哪些库/实践?

下面的事情我已经研究:

  • 它仅适用于32位应用程序
  • 支持我的.NET版本(并列入前缀)
  • 单声道或.NET Core不因为这些应用程序不支持WPF。

下面的做法我不知道自己是否能够突破Winebottler:

  • 使用Environment.SpecialFolder
  • 开始用的Process.Start()过程
  • 打印与DymoPrinter标签
  • Wix Toolset Installer
  • MySQL.Data(MySql .NET连接器)
  • Nlog

所以我的问题是,是否有某处最佳实践来开发一个.net应用程序winebottler和库/功能,以避免?

或者,使我的应用程序在Mac上工作的提示。

回答

0

GTK#怎么样?

基于GTK#安装的.NET Framework提供了.NET开发者所有,他们需要建立和运行的Gtk#件的基于应用程序,相同的一组是用来在Mono构建Unix应用程序库。

http://www.mono-project.com/docs/gui/gtksharp/installer-for-net-framework/

+0

如果我看到这是正确的,这将意味着我需要重新创建应用程序的完整图形用户界面?首选的方法是使用Mac上的当前代码库运行应用程序。 – Gulpener

+0

是的,这是一个选项。根据我的选择,该应用将比通过Wine运行更稳定。由于您已经拥有应用程序的核心内容,应用GTK#的过程不会那么困难。但以防万一没有任何最佳实践,你正在寻找。干杯! – vietnguyenswin