reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Douglas Service <>
Subject Transition from .NET 4.5 to .NET Core 1.1 and .NET 4.6
Date Wed, 25 Jan 2017 00:26:06 GMT
Here is a the current proposal for moving from .NET 4.5 to .NET Core 1.1 /
.NET 4.6 which will allow the C# portion of REEF to run on both Windows and


The MSBuild .NET Core/ Visual Studio 2017 .csproj file format is
significantly different from the .NET 4.5 / Visual Studio 2015 project file
format. In addition, the new 2017 format will automatically pick up files
in current directory and sub-directories unless the are excluded with a
content exclude statement.

Our goals are:

   1. Have the new projects well laid out and highly usable since they are
   the future.
   2. Disturb the current projects as little as possible to prevent
   3. Have the transition to .NET Core 1.1 / .NET 4.6 appear in git as a
   series of deletions.

Steps involved:

   1. A new solution file will be added to lang/cs/Org.Apache.REEF.NC.sln.
   2. A new project file will be added to each project directory. For
   example, Org.Apache.REEF.Utilities.NC.csproj.
   3. A directory called NET45 will be added to each project directory
   where directories and files that are only appropriate to the .NET 4.5 build
   will be placed.
   4. The new .NET Core 1.1 / .NET 4.6 projects will pull down our Avro
   .NET Core 1.1 / .NET 4.6 nuget package and .NET Core 1.1 / .NET 4.6
   compatible versions of the other nuget packages REEF uses.
   5. The NET45 directory will be excluded from the new project files with
   content exclude statement.
   6. The current project files will be updated for any files that move to
   the NET45 sub-directory.
   7. After the final .NET 4.5 release of REEF, the current project files
   and the NET45 directories will be removed.

This process will keep the new project files easy to use as adding a file
to the project directory or sub-directory (except the NET45 directory) will
cause the file to be automatically added to the build.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message