1 下载并安装netcore sdk
    下载地址 https://github.com/dotnet/cli

选取合适的版本下载安装即可

打开 CMD ,输入dotnet,出现以下信息说明已安装好

C:\Users\>dotnet
Usage: dotnet [--help | app.dll]

2 新建一个项目 

新建项目在cmd 里输入dotnet new 即可

C:\Users\>mkdir demo

C:\Users\>cd demo

C:\Users\\demo>dotnet new
Created new C# project in C:\Users\\demo. C:\Users\\demo>dir
驱动器 C 中的卷没有标签。
卷的序列号是 3A94-0B71 C:\Users\\demo 的目录 -- : <DIR> .
-- : <DIR> ..
-- : Program.cs
-- : project.json
个文件 字节
个目录 ,,, 可用字节

可以看到共生成了两个文件  program.cs和project.json 以下是内容
 Program.cs

using System;

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

project.json

{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002485"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}

很简单的两个文件 ,就是要输出hello world

3 修改project.json 来支持交叉编译

{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform", //此处去掉,加上的话发布的时候不会netcore的运行环境和基础类库一块发布,需要在目标平台上安装netcore ,去掉的话就不用在目标平台上安装netcore了
    "version": "1.0.0-rc2-3002485"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
  "runtimes":{"ubuntu.15.04-x64":{}} //加入runtimes
}

4保存文件,还原引用包 运行dotnet restore

C:\Users\\demo>dotnet restore
log : Restoring packages for C:\Users\\demo\project.json...
info : GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json
info : CACHE https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/microsoft.netcore.dotnethostresolver/index.json
info : NotFound https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json 1208ms
info : CACHE https://dotnetmyget.blob.core.windows.net/artifacts/dotnet-core/nuget/v3/flatcontainer/microsoft.netcore.dotnethost/index.json
info : GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethost/index.json
info : NotFound https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethost/index.json 1935ms
info : Committing restore...
log : Writing lock file to disk. Path: C:\Users\\demo\project.lock.json
log : C:\Users\\demo\project.json
log : Restore completed in 7649ms. NuGet Config files used:
C:\Users\\NuGet.Config
C:\Users\\AppData\Roaming\NuGet\NuGet.Config Feeds used:
https://www.myget.org/F/dotnet-core/api/v3/index.json
https://api.nuget.org/v3/index.json

5 编译代码 dotnet build -r ubuntu.15.04-x64

C:\Users\71700\demo>dotnet build -r ubuntu.15.04-x64
Compiling demo for .NETCoreApp,Version=v1.0

Compilation succeeded.
0 Warning(s)
0 Error(s)

Time elapsed 00:00:01.4677989

6发布程序 dotnet publish -r ubuntu.15.04-x64

C:\Users\\demo>dotnet publish -r ubuntu.15.04-x64
Publishing demo for .NETCoreApp,Version=v1./ubuntu.15.04-x64
Project demo (.NETCoreApp,Version=v1.) was previously compiled. Skipping compilation.
publish: Published to C:\Users\\demo\bin\Debug\netcoreapp1.\ubuntu.15.04-x64\publish
Published / projects successfully

查看下publish文件夹

文件很多,其中demo是ubuntu上的可执行文件

7把publish文件加拷贝的共享文件夹里面 并挂载到ubuntu上 运行demo
 先ls查看下文件里面的内容

root@lius-Virtual-Machine:/mnt/share/publish# ls
demo System.Net.Http.dll
demo.deps.json System.Net.Http.Native.so
demo.dll System.Net.NameResolution.dll
demo.pdb System.Net.Primitives.dll
demo.runtimeconfig.json System.Net.Requests.dll
libcoreclr.so System.Net.Security.dll
libcoreclrtraceptprovider.so System.Net.Security.Native.so
libdbgshim.so System.Net.Sockets.dll
libhostfxr.so System.Net.WebHeaderCollection.dll
libhostpolicy.so System.Numerics.Vectors.dll
libmscordaccore.so System.ObjectModel.dll
libmscordbi.so System.Private.Uri.dll
libsosplugin.so System.Reflection.DispatchProxy.dll
libsos.so System.Reflection.dll
Microsoft.CodeAnalysis.CSharp.dll System.Reflection.Emit.dll
Microsoft.CodeAnalysis.dll System.Reflection.Emit.ILGeneration.dll
Microsoft.CodeAnalysis.VisualBasic.dll System.Reflection.Emit.Lightweight.dll
Microsoft.CSharp.dll System.Reflection.Extensions.dll
Microsoft.VisualBasic.dll System.Reflection.Metadata.dll
Microsoft.Win32.Primitives.dll System.Reflection.Primitives.dll
Microsoft.Win32.Registry.dll System.Reflection.TypeExtensions.dll
mscorlib.dll System.Resources.Reader.dll
mscorlib.ni.dll System.Resources.ResourceManager.dll
sosdocsunix.txt System.Runtime.dll
System.AppContext.dll System.Runtime.Extensions.dll
System.Buffers.dll System.Runtime.Handles.dll
System.Collections.Concurrent.dll System.Runtime.InteropServices.dll
System.Collections.dll System.Runtime.InteropServices.PInvoke.dll
System.Collections.Immutable.dll System.Runtime.InteropServices.RuntimeInformation.dll
System.Collections.NonGeneric.dll System.Runtime.Loader.dll
System.Collections.Specialized.dll System.Runtime.Numerics.dll
System.ComponentModel.Annotations.dll System.Security.Claims.dll
System.ComponentModel.dll System.Security.Cryptography.Algorithms.dll
System.Console.dll System.Security.Cryptography.Cng.dll
System.Diagnostics.Debug.dll System.Security.Cryptography.Csp.dll
System.Diagnostics.DiagnosticSource.dll System.Security.Cryptography.Encoding.dll
System.Diagnostics.FileVersionInfo.dll System.Security.Cryptography.Native.so
System.Diagnostics.Process.dll System.Security.Cryptography.OpenSsl.dll
System.Diagnostics.StackTrace.dll System.Security.Cryptography.Primitives.dll
System.Diagnostics.Tools.dll System.Security.Cryptography.X509Certificates.dll
System.Diagnostics.Tracing.dll System.Security.Principal.dll
System.Dynamic.Runtime.dll System.Security.Principal.Windows.dll
System.Globalization.Calendars.dll System.Text.Encoding.CodePages.dll
System.Globalization.dll System.Text.Encoding.dll
System.Globalization.Extensions.dll System.Text.Encoding.Extensions.dll
System.Globalization.Native.so System.Text.RegularExpressions.dll
System.IO.Compression.dll System.Threading.dll
System.IO.Compression.Native.so System.Threading.Overlapped.dll
System.IO.Compression.ZipFile.dll System.Threading.Tasks.Dataflow.dll
System.IO.dll System.Threading.Tasks.dll
System.IO.FileSystem.dll System.Threading.Tasks.Extensions.dll
System.IO.FileSystem.Primitives.dll System.Threading.Tasks.Parallel.dll
System.IO.FileSystem.Watcher.dll System.Threading.Thread.dll
System.IO.MemoryMappedFiles.dll System.Threading.ThreadPool.dll
System.IO.UnmanagedMemoryStream.dll System.Threading.Timer.dll
System.Linq.dll System.Xml.ReaderWriter.dll
System.Linq.Expressions.dll System.Xml.XDocument.dll
System.Linq.Parallel.dll System.Xml.XmlDocument.dll
System.Linq.Queryable.dll System.Xml.XPath.dll
System.Native.a System.Xml.XPath.XDocument.dll
System.Native.so

执行dome

root@lius-Virtual-Machine:/mnt/share/publish# ./demo
Hello World!

成功输出 helloworld

.netcore跨平台 之 windows上编译,ubuntu上运行的更多相关文章

  1. .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序

    在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了 ASP.NET 5 示例程序.在这篇博文中我们将 Ubuntu 换成 CentOS. 目前 dnx 的编译需要用到 m ...

  2. Windows远程连接Ubuntu上的MySQL数据库

    原因:mysql安装好后,默认监听3306端口,并且只允许localhost访问,只允许root用户在localhost上登录.   我的环境:                 Ubuntu16.04 ...

  3. 在win7 windows 上编译 beego 上传到 linux 去执行

    在beego的项目目录下,执行: GOOS=linux GOARCH=amd64 go build So easy!但是却搞了好久! 参考连接:http://blog.csdn.net/changji ...

  4. 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门

    翻译自 haydenb 2020年6月3日的文章<Getting started with cross-platform development using .NET on Ubuntu on ...

  5. golang 跨平台编译——go 在windows上编译Linux平台的程序(Cross Compilation from Windows to Linux/Ubuntu)

    Go Cross Compilation from Windows to Linux/Ubuntu I have GO 1.7 installed on my Windows 10. I create ...

  6. .NET跨平台:在Ubuntu上用自己编译的dnx运行ASP.NET 5示例程序

    在 Linux Ubuntu 上成功编译 dnx 之后,会在 artifacts/build/ 文件夹中生成 dnx-coreclr-linux-x64/ 与 dnx-mono/ 这2个文件夹,前者是 ...

  7. .NET跨平台:在Linux Ubuntu上编译coreclr/corefx/dnx(20150617)

    编译时间:北京2015年6月17日上午 操作系统:Ubuntu 14.04.2 LTS Mono版本:Mono JIT compiler version 4.3.0 (master/3445ac5 T ...

  8. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  9. ubuntu上安装mysql 编译安装

    为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...

随机推荐

  1. web项目总结——通过jsp+servlet实现对oracle的增删改查功能

    1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao ...

  2. SAP ERP和ORACLE ERP的区别是哪些?

    SAP有非常细致深入的标准流程,在流程方面,只要是你想到的问题,SAP都会曾经遇到过并且给出过解决方案.实施SAP比较倾向于改变企业的业务流程来匹配SAP,实现标准化管理. oracle比较灵活,侧重 ...

  3. (转)pymysql 连接mysql数据库---不支持中文解决

    往数据库里插入中文时出现异常:UnicodeEncodeError: 'latin-1' codec can't encode characters 就是编码的问题,pymysql默认的编码是lati ...

  4. Linux SHELL,环境变量

    SHELL: 在计算机科学中,Shell俗称壳(用来区别于核),是指"提供使用者使用界面"的软件(命令解析器).它类似于DOS下的command和后来的cmd.exe.它接收用户命 ...

  5. 【java基础】成员变量和局部变量

    成员变量和局部变量 根据定义变量位置的不同,可以将变量分为成员变量和局部变量        成员变量是在类范围内定义的变量        局部变量是在一个方法内定义的变量   成员变量可以分为:   ...

  6. JOIN关联表中ON,WHERE后面跟条件的区别

    select * from td  left join (select case_id as sup_case_id , count(*) supervise_number from  td_kcdc ...

  7. js根据ID修改背景图片

    <SCRIPT language=javascript> function expand(el) { var childObj = document.getElementById(&quo ...

  8. 样本、文库、重复、lane、run - 二代测序原理及名词解释

    参考: 独占鳌头的Illumina仪器(二代测序篇) HiSeq2000测序原理.流程与仪器 NGS文库制备的方法比较[心得点评] 各种测序文库构建方式 样本:就是待测的DNA.RNA或蛋白序列,样本 ...

  9. 在VIM中进行快速的查找和替换

    VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...

  10. UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...