使用 mono 编译 .NET Standard 应用

微软发布 .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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx操作命令

启动 nginx 停止 nginx -s stop 查看占用端口号 ps -ef | grep nginx 重启&#xff1a; nginx -s reload nginx配置目录&#xff1a; /usr/local/nginx/conf/nginx.conf

Spring Boot 热部署入门

转载自 Spring Boot 热部署入门 1. 概述 在日常开发中&#xff0c;我们需要经常修改 Java 代码&#xff0c;手动重启项目&#xff0c;查看修改后的效果。如果在项目小时&#xff0c;重启速度比较快&#xff0c;等待的时间是较短的。但是随着项目逐渐变大&#xff0c;重启的速…

hdu3666-THE MATRIX PROBLEM【差分约束,自然对数】

正题 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid3666 题目大意 一个n∗mn*mn∗m的矩阵CCC求有没有一个长度为nnn的aaa序列和一个长度为mmm的bbb序列使得 L≤Ci,j∗ai/bi≤RL\leq C_{i,j}*a_i/b_i\leq RL≤Ci,j​∗ai​/bi​≤R 解题思路 首先我们将乘除转换为自然…

微服务架构的理论基础 - 康威定律

摘要&#xff1a; 可能出乎很多人意料之外的一个事实是&#xff0c;微服务很多核心理念其实在半个世纪前的一篇文章中就被阐述过了&#xff0c;而且这篇文章中的很多论点在软件开发飞速发展的这半个世纪中竟然一再被验证&#xff0c;这就是康威定律。前段时间看了Mike Amundsen…

nginx部署laravel需要修改的配置

让ssh一直在后台运行 nohup php artisan serve --host 0.0.0.0 > myout.file 2>&1 & 1、修改nginx.config里面的内容&#xff0c;把禁用函数去掉 2、修改php.ini display_errors Ondisplay_startup_errors On

阿里微服务架构下分布式事务Seata

转载自 阿里微服务架构下分布式事务Seata Seata 是什么&#xff1f; Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前&#xff0c;Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一…

用于.NET Core的ORM

尽管EF Core正努力提供视图和存储过程等基本数据库特性&#xff0c;但是开发人员也在寻求能满足他们数据访问需求的ORM工具。下面列出一些相对广为使用的ORM。 LLBLGen Pro Runtime Framework LLBLGen Pro Runtime Framework是一种“可选”的ORM&#xff0c;它是与LLBLGen实体建…

P3076,jzoj3187-的士【贪心】

正题 luogu题目链接:https://www.luogu.org/problemnew/show/P3076 题目大意 有若干个请求si,tis_i,t_isi​,ti​表示一个牛要从sis_isi​到tit_iti​。一辆只能装一只牛的车&#xff0c;从1出发mmm结束。求最少行驶距离。 解题思路 首先对于每个要求一定要计算∣ti−si∣|t…

Spring Boot之基于Dubbo和Seata的分布式事务解决方案

转载自 Spring Boot之基于Dubbo和Seata的分布式事务解决方案 1. 分布式事务初探 一般来说&#xff0c;目前市面上的数据库都支持本地事务&#xff0c;也就是在你的应用程序中&#xff0c;在一个数据库连接下的操作&#xff0c;可以很容易的实现事务的操作。但是目前&#xff…

Ocelot监控

网关的作用之一&#xff0c;就是有统一的数据出入口&#xff0c;基于这个功能&#xff0c;我们可以在网关上配置监控&#xff0c;从而把所有web服务的请求应答基本数据捕获并展显出来。 关于web的监控&#xff0c;一般的做法是采集数据并保存&#xff0c;然后通过图表的方式展示…

jzoj3188-找数【质数筛,数论】

正题 题目大意 求第nnn大的最小质因数时ppp的数。 解题思路 首先对于p2p2p2和p3p3p3时可以直接通过计算得出。 然后不难发现当p5p5p5时我们可以每次增加101010也就是O(n)O(n)O(n)的十分之一常数。 之后再往大的我们发现是O(nln⁡np)O(\frac{n\ln n}{p})O(pnlnn​)常数是二分之…

Linux上安装nginx

1、下载安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2、下载并解压nginx wget http://nginx.org/download/nginx-1.13.7.tar.gz tar -xvf nginx-1.13.7.tar.g3、进入到目录编译安装 ./configure make make install配置环境变量 修改 /etc…

Spring Boot之基于Redis实现MyBatis查询缓存解决方案

转载自 Spring Boot之基于Redis实现MyBatis查询缓存解决方案 1. 前言 MyBatis是Java中常用的数据层ORM框架&#xff0c;笔者目前在实际的开发中&#xff0c;也在使用MyBatis。本文主要介绍了MyBatis的缓存策略、以及基于SpringBoot和Redis实现MyBatis的二级缓存的过程。实现本…

数据库架构演变概要

一&#xff0e;背景为了适应业务增长,数据库数据量快速增长&#xff0c;性能日趋下降&#xff0c;稳定性不佳的实际情况&#xff0c;急需架构逐步演变适应未来的业务发展。二&#xff0e;现状【稳定性】数据库为单点&#xff0c;没有高可用和稳定性方案。【数据量大】数据库目前…

jzoj3189-解密【字符串hash】

正题 题目大意 一个句子有多个单词。 给出了一个加密了的串。加密方法是将不同的单词转换成不同的单词。然后再给一个加密前的串&#xff0c;求再加密串中可能出现的最早位置。 解题思路 设aia_iai​表示与iii相同的前一个字母的位置。 然后根据题目意思对与两个串如果aaa序列…

面试请不要再问我Spring Cloud底层原理

转载自 面试请不要再问我Spring Cloud底层原理 概述 毫无疑问&#xff0c;Spring Cloud是目前微服务架构领域的翘楚&#xff0c;无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面&#xff0c;其底层的很多原理&#xff0c;很多人可能并…

nginx配置前端反向代理

本地这里有两个端口&#xff1a; 8080&#xff1a;前端页面 80&#xff1a;后端接口 在nginx配置 listen 8888;server_name 127.0.0.1;location / {root html;proxy_pass http://127.0.0.1:8080;# try_files $uri $uri/ /index.php$is_args$args;index index.html…

Visual Studio 2017的第五个更新包扩展了调试工具

Visual Studio 2017近日收到了最新的完整更新包&#xff0c;版本号为15.5。跟随前几次更新的步伐&#xff0c;这次发布提供了一系列几乎会让所有用户从中受益的特性。此次发布的一个重点是IDE的性能&#xff0c;尤其是减少C#/Visual Basic项目的加载时间。在.NET Core项目中进行…

Spring Boot 多数据源(读写分离)入门

转载自 芋道 Spring Boot 多数据源&#xff08;读写分离&#xff09;入门 1. 概述 在项目中&#xff0c;我们可能会碰到需要多数据源的场景。例如说&#xff1a; 读写分离&#xff1a;数据库主节点压力比较大&#xff0c;需要增加从节点提供读操作&#xff0c;以减少压力。 …

欢乐纪中A组周六赛【2019.3.30】

前言 做A组被虐好惨 成绩 RankRankRank是有算别人的 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1010102017ZYC2017ZYC2017ZYC1141141142424244040405050501313132017XXY2017XXY2017XXY1001001000001001001000001818182017HJQ2017HJQ2017HJQ95959500095959500022…