在Windows上编译和调试CoreCLR

生成CoreCLR - Windows篇

本文的唯一目的就是让你运行Hello World

运行环境

Window 7+

Visual studio 2015

确保C++ 工具已经被安装,默认是不安装的,所以要选择自定义模式,VS 2015 精简版不支持。

CMake

下载 CMake for windows,并把Cmake的目录添加到为PATH的系统变量里。

Python

下载Python for windows 并安装,并把Python的目录地址添加到Path系统变量中。

Powershell

powershell版本必须大于等于3.0,因为我用的是WIN10,默认为4.0,所以不用特别升级。

Git

新建一个目录,名字为git,当然名字随便取,放在一个你觉得适合的地方。然后在bash中执行如下命令克隆Repo.

C:\git>git clone https://github.com/dotnet/coreclr
C:\git>git clone https://github.com/dotnet/corefx

Demo 目录

新建一个目录,然后新建2个文件夹,一个取名叫runtime,一个取名叫packages.

Nuget

下载Nuget客户端 并放在一个你觉得合适的地方。

Build

进入刚刚克隆好的目录,然后执行build clean命令,系统会先安装coreclr cli,这是个很长的过程,估计整个流程全跑完要30~40分钟,所以耐心等吧。

对于CoreFx,那么就只要执行Build 就够了。

复制DLL

一张图足矣,CoreClr需要复制上面的文件,而CoreFx,只需要复制需要的,对于你这个CS文件来说需要的。文件从bin/product目录底下找。

生成EXE

使用VS2015的命令行工具,执行如下命令,当然路径什么的自己改。

csc /nostdlib /noconfig /r:runtime\mscorlib.dll /out:runtime\helloworld.exe helloworld.cs

Debug

大公告完了?没呢,没DEBUG算什么完成。

  1. 找到CoreCLR.sln这个项目(当然前提是编译过了,不然直接从GIT上下载的没这个东西),我电脑里面的目录是:D:\coreclr2\coreclr\bin\obj\Windows_NT.x64.Debug。
  2. 找到Install并设为启动项目
  3. 右键Install项目->属性->调试,设置命令为:$(SolutionDir)..\..\product\Windows_NT.$(Platform).$(Configuration)\corerun.exe,命令参数:HelloWorld.exe,工作目录为:$(SolutionDir)..\..\product\Windows_NT.$(Platform).$(Configuration),
  4. 按下F11,忽略一切阻碍!

问题汇总

解决方法 ,不过这种方法并不是最好的,因为会拖慢速度,因为是从远程下载PDB。

但是遗憾的是,我的CoreCLR启动失败了。@dudu,求教为什么会失败?

时间: 2024-12-26 17:11:30

在Windows上编译和调试CoreCLR的相关文章

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

这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编译都失败了.后来一一都解决了,在这篇博文中分享一下. (一) 在Mac上编译corefx遇到的错误如下: /git/dotnet/corefx/dir.props(214,5): warning : The Roslyn targets do not exist- Roslyn will not b

在 windows 上使用 clion 调试 rust 代码

在 windows 上使用 clion 调试 rust 代码 clion 在 windows 上不能调试 msvc 工具链生成的程序,需要使用 gnu 工具链才能调试,搜了下没有多少介绍工具链的安装过程的文章,写下来记录下. 具体的步骤为: 安装 mingw 环境 安装 msys2 (带 mingw-64 ),下载地址见 https://www.msys2.org/ . 开一个 mingw 的终端,安装编译工具: pacman -Syu pacman -S mingw-w64-x86_64-to

windows上编译 python C源码

跟随<python源码剖析>一书,了解python内部机制.今天搞定了在windows上编译python源代码. 按照书中的内容,使用VS2008编译Python2.7.9.相似的步骤见下面的链接: http://www.cnblogs.com/heshizhu/archive/2012/08/09/2630346.html 我使用的是VS2008ProEdition90天的试用版,中间遇到一些问题记录一下: 无法打开文件python27.lib 原因及解决方案:系统是win8 64位,没有安

Windows上编译PHP的MagickWand扩展

首先这是一个漫长的过程,尝试编译此插件的用户一定要有耐心.大致流程可以划分为: 编译ImageMagick 编译MagickWand 关于PHP的版本.Windows的PHP是用哪个版本的VC编译的,这个一定要先弄清楚,例如我的是VC9编译的,那么一定要下载对应的VC来编译.例如VC9对应VS2008,VC10对应VS2010. 下面切入正题: 首先下载PHP的源代码,注意你下载的源代码也要跟你Windows上的PHP可执行文件是同一个版本.例如我的是5.4.31RC1. 下载ImageMagi

[ZZ] 在windows上编译Mesa3d opengl32库

在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa3d是一套跨平台的opengl/es库, 它不提供编译好的二进制包,所以必须自己动手编译. Linux默认都带了这个软件, 因此Linux上直接用就可以了. 如果想在linux上的编译, 也比较简单, 本文不赘述.那么如何在Windows上编译这个库呢? Mesa3d官网给出了编译方法. http:

剖析并利用Visual Studio Code在Mac上编译、调试c#程序

0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很不错的文档编辑器.不过匹夫更关心的是它的跨平台能力,这不,匹夫偷得半日闲,写篇小文来聊聊在Mac上如何使用Visual Studio Code编译和调试C#代码,最后匹夫也会尝试把Visual Studio Code嵌入Unity3D中,作为一个准“IDE”使用. 0x01 Visual Studi

剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】

0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很不错的文档编辑器.不过匹夫更关心的是它的跨平台能力,这不,匹夫偷得半日闲,写篇小文来聊聊在Mac上如何使用Visual Studio Code编译和调试C#代码,最后匹夫也会尝试把Visual Studio Code嵌入Unity3D中,作为一个准“IDE”使用. 0x01 Visual Studi

Windows上编译GRPC

Windows上源码编译多数开源软件都很麻烦 编译环境:VS2015(grpc支持2013及以上,2012上没有Nuget,编译起来要费劲的多) 编译GRPC涉及内容 grpc protobuf grpc_protoc_plugin(本文以c++语言为编译目标,因此只涉及grpc_cpp_plugin) zlib grpc代码下载后,执行git submodule update --init初始化依赖的submodule 1. protobuf 参考readme用CMAKE生成工程文件,编译即可

在windows上编译MatConvNet

有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器预装vs2010,Matlab2014a,CUDA6.5. 进入Matlab,切换到{matconvnet_root}: mex -c -largeArrayDims -lmwblas "matlab/src/bits/im2col.cpp" mex -c -largeArrayDims -lmwbla