河西网站建设制作,品牌推广方式,做网站和seo流程,怎样管理一个俄语网站尽管传统意义上来说#xff0c;.NET是只面向Windows的、闭源的专有平台#xff0c;然而#xff0c;传统观念即将被颠覆。新的开源跨平台的.NET Core已经开启#xff0c;意味着你可以在任意平台写C#或.NET#xff0c;然后在Windows、Linus和macOS运行。
这个新的.NET平台正…尽管传统意义上来说.NET是只面向Windows的、闭源的专有平台然而传统观念即将被颠覆。新的开源跨平台的.NET Core已经开启意味着你可以在任意平台写C#或.NET然后在Windows、Linus和macOS运行。
这个新的.NET平台正在GitHub上尝试对外开放主要用到MIT和Apache的许可证甚至还接收社区贡献。新平台的设计理念源自以往的开源编译器Roslyn.NET编译器平台目的在于不局限于Windows或Visual Studio而是允许开发者在任意集成开发环境IDE中使用任意系统然后在任意服务器或平台运行程序。
为了演示这个新平台我们搭建一个超级简单的控制台应用程序然后使用新的dotnet命令行接口CLI在Windows和Linux上运行。开始之前需要先安装.NET Core包含dotnet CLI工具。微软的在线文档中为大多数平台(包括各种各样的发行版)提供完整的软件文档。
如果你不想在本地安装.NET Core微软/dotnet:最新Docker图片预置了所有最新的工具和SDK。
搭建新程序
.NET Core版本迭代很快我写的这些主要适用于当时的最新版本。
首先我们用dotnet的新控制台搭建一个新的控制台应用程序然后自动生成一个Program.cs和 .csproj这是以当前的目录命名的我的名为app.csproj。 为了验证可行性尝试运行一下dotnet restore这个可以恢复运行程序需要用到的所有包。这个步骤完成后运行dotnet run然后你就可以在控制台看到关键信息Hello,World!了。 添加逻辑功能
在你最喜欢的文本编辑器中打开Program.cs然后用下面的内容替换Console.WriteLine(“Hello World!”);因为.NET与Visual Studio之间没有耦合关系所以你可以用任意你喜欢的IDE或文本编辑器甚至可以用vi。
Console.WriteLine($Hello
{System.Environment.GetEnvironmentVariable(USER)}!
Im {System.Environment.MachineName} and Im talking
to you from
{System.IO.Directory.GetCurrentDirectory()});
对于不熟悉C#和.NET的人来说这段代码实际上是在用当前环境的信息打印一个更详细版的经典Hello, World。注意这里的代码并不是针对某一个指定的平台。
运行新程序
如果你现在运行dotnet build你会得到一个.dll文件还会有其他文件添加到你的./bin/Debug文件夹。你已经写了一段跨平台的控制台程序将那些文件复制到另一台运行.NET Core的机器——Linux或者OS X也可以然后运行dotnet ./path/to/your/app.dll你将看到和前面一样的输出然而你用的仍然是本地运行环境。幸运的是.NET Core可以在一个独立包中搭建和发布本地二进制文件所以你的目标系统或用户不用安装.NET也可以运行程序。
尝试其他平台
要想尝试跨平台应用程序我们必须先确定用于搭建平台的.NET Core SDK由于这个过程涉及到本地库除了指明需要用到的平台以外还需要确定风格和版本。
在应用目录中打开.csproj文件将下列XML标签添加到各标签中
propertygroupruntimeidentifierswin10-x64;osx.10.12-
x64;debian.8-x64/runtimeidentifiers/propertygroup
这样.NET就知道我们想要为Windows 10 64-bit、macOS Sierra和Debian 8搭建一个独立的应用程序接下来要做的就是运行之前选择的环境下的dotnet publish然后在每一个平台上编译本地二进制文件。 注意一下在./app/bin/Debug/netcoreapp1.1/文件夹中每一个平台都有对应的目录每一个目录都有对应的publish文件夹这个文件夹里有你的本地应用程序的副本还有所有需要运行的.NET库的副本所有没必要在目标系统上安装.NET只需要把这些文件复制到一个新的文件夹然后运行可执行文件就好了。 结语
使用C#和新的.NET Core平台你可以在任意平台搭建应用程序再将它发布到任意平台——100%代码复用、完全本地、无运行时、不用安装框架。来GitHub吧你可以看到新的框架让这项技术更加强大不管对于C#还是.NET这都是非常激动人心的时刻 原文地址https://opensource.com/article/17/5/cross-platform-console-apps .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注