微软发布 .NET Standard 2.0 已经有一段时间了, 根据 .NET Standard 2.0 支持版本的文档, Mono 5.4 是支持 .NET Standard 2.0 的, 对于 .NET Standard 2.0 应用的开发的介绍, 几乎全部都是在 Windows 系统下使用 Visual Studio 2017 进行的, 而在 Linux 或 macOS 系统下使用 Mono 的介绍缺却少之又少, 本文就一一个简单的控制台应用为例, 介绍一下如何在 Mono 下如何开发 .NET Standard 2.0 应用。

由于 Mono 下没有内置 .NET Standard 2.0 应用的模板, 所以需要先借用一下 .NET Core 的应用模板。

打开终端, 输入下面的命令, 来创建一个控制台应用:

dotnet new console -o ConsoleApp

这个命令会生成一个 ConsoleApp 目录, 里面有两个文件 ConsoleApp.csproj 和 Program.cs 两个文件, 先来看一下 ConsoleApp.csproj 文件, 内容如下:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>netcoreapp2.0</TargetFramework></PropertyGroup></Project>

将 TargetFramework 由 netcoreapp2.0 修改为 net461 , 如下所示:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net461</TargetFramework></PropertyGroup></Project>

而 Program.cs 则不用做任何修改, 内容如下:

using System;namespace ConsoleApp{class Program{static void Main(string[] args){Console.WriteLine("Hello World!");}}}

要编译这个项目, 需要先恢复项目的依赖项, 在控制台继续输入下面的命令:

msbuild /t:Restore

然后就可以编译这个项目了, 继续输入下面的命令:

msbuild /t:Build

最终会在控制台看到 Build succeeded. 的输出。 最后, 用 Mono 来运行一下编译好的应用, 如下图所示:

$ mono bin/Debug/net461/ConsoleApp.exeHello World!

原文:http://beginor.github.io/2017/12/09/build-net-standard-app-with-mono.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

使用 mono 编译 .NET Standard 应用相关推荐

  1. unity mono 编译

    Unity 4.3版本的mono. mono: https://github.com/Unity-Technologies/mono/tree/unity-4.3 cygwin:  X86 32的,安 ...

  2. vs 2015编译linux,linux – 使用mono / xbuild编译VS2015应用程序时出现问题

    我是编程新手,但不是 Linux的新手.我最近在C#中开始编程,我们使用Visual Studio 2015来编写应用程序,因此使用MSbuild来编译它们.但是,在家里我想用mono编译所有东西,但 ...

  3. Mono 把 .NET 应用程序移植到 Linux

    Mono 是基于 .NET 的开放源码开发平台,它让您可以使用各种 .NET 兼容语言创建强大.灵活的 Linux® 应用程序,同时利用跨平台的能力.本文带领您在系统上安装 Mono,并开发第一个用 ...

  4. .NET Standard 2.1 公布

    原文: Announcing .NET Standard 2.1 校对: Cloud 自从大约一年前发布 .NET Standard 2.0以来,我们已经向 .NET Core 2.1 发布了两个更新 ...

  5. .net 应用迁移到Mono 工具 (Moma)

    Mono Migration Analyzer (Moma) 是一个用于开发者使用的MS .net下开发的应用程序迁移到Mono平台的不兼容性检测工具.工具通过分析.dll或者.exe程序集的代码是否 ...

  6. c# linux 效率,c# – linux / mono上的HTTP性能

    我的问题 由于有一些代码可以支持这个问题 – 我会先提出来.在 linux / mono上运行的Servicestack自托管服务(或者实际上是任何http侦听器)是否存在任何已知的性能问题? 我的实 ...

  7. DbEntry on Mono 测试

    Mono 2.6 发行,.Net 兼容性得到很大提高,据说甚至很多 WinForm 的程序,也可以不修改的编译运行成功了. Mono 有一个 Mono 兼容性检测工具,叫做 MoMA,我用 MoMA ...

  8. 【Unity】安卓加密编译libmono.so成功失败记录(unity2017已成功编译)

    2022年8月14日01:30:44更新 [Unity3D]unity-mono编译libmono.so成功_两水先木示的博客-CSDN博客 2022年8月13日更新(目前看起来好像最接近可行的方案) ...

  9. Mac 下编译 libmono.so 和 DLL 加密详解

    Unity 打出的安卓包为了防止反编译,需要对 Assembly-CSharp.dll 加密处理.Assembly-CSharp.dll 是由 libmono.so 运行时读取然后在 mono 虚拟机 ...

最新文章

  1. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第三十五集
  2. 大学python用什么教材-清华大学出版社-图书详情-《Python大学教程》
  3. Intel Realsense D435 python multiprocessing 摄像头多进程流传输
  4. 计算机应用基础测试成绩截图,计算机应用基础测试题图文稿.docx
  5. 字节流写数据加异常处理
  6. 人工机器:jetsonnano推理时出现 Segmentation fault(core dumped)
  7. 远控免杀专题11-Avoidz免杀
  8. Linux操作系统原理与应用03:进程
  9. 经过七年演进,Serverless流行起来了吗?
  10. Windows 8 M2 Build 7955泄露下载
  11. python 匿名函数 与 重要的内置函数
  12. 人工智能原理与方法作业1
  13. java 反编译 调试_eclipse 反编译 jar 中 .class 并打断点调试
  14. python数据挖掘学习路线图
  15. Vue2:组件及组件通信
  16. 云主机和物理机有什么区别?
  17. 校招季--献给前端求职路上的你们(H5+C3)
  18. TRIZ系列-创新原理-34-抛弃和再生部件原理
  19. 计蒜客python答案Top50
  20. php实现一键分班,学生一键分班软件下载

热门文章

  1. Javascript中数组去重的六种方法
  2. ChatForFun 公众号使用说明
  3. XHTML教会我的一些东西-1
  4. 关于OAuth2.0 Authorization Code+PKCE flow在原生客户端(Native App)下集成的思考
  5. C# 基于事件的异步模式
  6. Linq 下的 Take() 方法内部机制是怎样的?
  7. 提高「搜商」,挣大钱
  8. 一年几百亿的电费 中国移动再提5G功耗问题
  9. WPF 如何流畅地滚动ScrollViewer
  10. WeihanLi.Npoi 1.18.0 Released