corefx项目中的文件夹结构

时间:2015-09-09 18:17:48

标签: mono dnx .net-core dnu

我正在尝试了解corefx项目的文件夹结构,System.IO。以下是System.IO文件夹在OS X中的显示方式

sameer:System.IO BLACKSTAR$ dnvm list

Active Version              Runtime Architecture OperatingSystem Alias
------ -------              ------- ------------ --------------- -----
       1.0.0-beta7          coreclr x64          darwin          
  *    1.0.0-beta7          mono                 linux/osx       default

sameer:System.IO BLACKSTAR$

这是我想要弄清楚的

  1. ref文件夹中有什么内容?
  2. src文件夹中有什么内容?
  3. ref和src之间有什么联系?
  4. Ref针对dotnet,但Src针对dnxcore50框架。这意味着什么?
  5. 我能够在ref文件夹中构建项目但是我无法使用 dnu build 在src中构建项目,尽管 dnu restore 成功运行。我做错了什么?
  6. {{1}}

1 个答案:

答案 0 :(得分:1)

你在这里看到的是一个命名空间的NuGet包,它实际上是CLR的一部分。很早就需要一些类型......比如文件io和基本数据类型,因此它们是CLR发行版的一部分。您可以在核心CLR github项目中找到它们。

所以......

  1. Ref是设计时的空实现。他们在那里定义类型。
  2. SRC是基于dnxcore5的实现......基本上是空的。
  3. Ref vs SRC .... Ref用于查找类型...绑定到实现(在coreclr或mscorlib中)是由某些PCL类型转发完成的。
  4. SRC是coreclr的伪实现。也许只是缺少的类型。 Ref目标是dotnet,因为所有现代SDK都有System.IO的类型转发。
  5. 我不知道他们是如何建造的。
  6. 很抱歉找不到详细信息。 MS没有很好的记录。