原始标题:如何使用. NET Core构建跨平台控制台APP应用程序
作者| Alistair Chapman
翻译雨言
微信公众号| mobilehub
译者注:NET Core是. NET Framework的新一代版本,是微软开发的第一个官方版本,从微软最初开发开始就是开源软件平台,也是跨平台带功能的APP应用程序开发框架(Application Framework )本文介绍如何使用. NET Core构建跨平台的控制台APP应用程序。 主要包括构建新程序、添加逻辑功能和运行新程序三个步骤。
从传统意义上讲, NET是一个只面向Windows的封闭源代码的专有平台,但传统观念很快就会被颠覆。 新的开源跨平台. NET Core正式开放意味着可以在任何平台上编写C#或. NET,并在Windows、Linus或macOS上运行。
这个新的. NET平台尝试在GitHub上对外开放,主要使用MIT和Apache许可证,也受到社区的贡献。 新平台不仅适用于Windows和Visual Studio,而且是传统的开源编译器,允许开发人员在任何集成开发环境(IDE )中使用任何系统,并在任何服务器或平台上运行程序
为了演示这个新平台,我们构建了一个超简单的控制台APP应用程序,并使用新的dotnet命令行界面(CLI )在Windows和Linux上运行。 开始之前,必须安装. net core (包括dot net CLI工具)。 微软的在线文档为大多数平台提供了完整的软件文档,包括各种版本。
如果不想在本地安装. NET Core,微软/dotnet:的最新Docker图像中预设了所有最新的工具和SDK。
构建新程序
. NET Core版本迭代速度很快,我写的这些主要适用于当时的最新版本。
首先,使用dotnet上的新控制台构建新的控制台APP应用程序,并自动生成与当前目录相关的Program.cs和. csproj (我的名字是app.csproj )。
为了验证可行性,请尝试运行dotnet restore。 这将恢复运行程序所需的所有软件包。 完成此步骤后,可以运行dotnet run并在控制台上查看重要信息Hello、World! 已经结束了。
添加逻辑功能
在收藏夹文本编辑器中打开Program.cs,然后单击console.writeline("Helloworld!" ); NET和Visual Studio之间没有耦合关系,所以可以使用喜欢的IDE或文本编辑器,也可以使用vi。
console.writeline($'hello
{ system.environment.getenvironmentvariable }!
I ' m { system.environment.machine name } Andi ' m talking
待办事宜from
{ system.io.directory.getcurrentdirectory ()
对于不熟悉C#和. NET的人来说,此代码实际上是使用当前环境的信息打印更详细版本的经典Hello,World。 请注意,这里的代码不是针对特定平台的。
执行新程序
现在运行dotnet build将得到. dll文件,并将其添加到./badfn/Debug文件夹中。 我写了一个跨平台的控制台程序。 您可以将这些文件复制到运行. NET Core的另一台计算机——Linux或OS X上。 然后运行dotnet ./path/to/your/app.dll。 获得与以前相同的输出,但使用了本地运行时环境。 幸运的是, NET Core可以在独立的软件包中生成和发布本地二进制文件,这样目标系统(或用户)就可以在不安装. NET的情况下运行程序。
尝试其他平台
要尝试跨平台APP应用程序,必须首先确定用于构建平台的. NET Core SDK。 由于此过程涉及本地库,因此不仅需要指定要使用的平台,还需要确定其样式和版本。
在APP应用程序目录中打开. csproj文件,并将以下XML标记添加到每个标记中:
双赢10-x64; 操作系统osx.10.12-
x64; debian.8-x64
因此, NET知道它希望为windows 10 64位、macOS Sierra和Debian 8构建独立的APP应用程序。 接下来,在以前选择的环境中运行dotnet publish,并在每个平台上编译本地二进制文件。
./app/badfn/debug/netcore app 1.1 /文件夹中的每个平台都有相应的目录,而每个目录都有相应的publish文件夹。 此文件夹包含您的本地APP应用程序的副本和要执行的. net库的副本,不需要安装在目标系统上
结语
使用C#和新的. NET Core平台,您可以在任何平台上生成APP应用程序,并将其发布到任何平台。 ——100%代码复用、完全本地、无运行时或无需安装框架。 请来GitHub。 可以看到新的框架使这项技术更加强大。 无论对C#还是. NET来说,这都是一个非常激动人心的时刻!
译文: howtobuildcross-platformconsoleappswith.net core
作者: Alistair Chapman
责任编辑: