-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add instructions for building for .NET Core 3.0, and make them work. #1032
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@@ -23,8 +22,6 @@ | |||
|
|||
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'"> | |||
<Compile Remove="CpuMathUtils.netstandard.cs" /> | |||
<!-- This is only needed until https://github.com/dotnet/corefx/issues/31064 is addressed. --> | |||
<PackageReference Include="System.Runtime.Intrinsics.Experimental" Version="4.6.0-preview1-26708-04" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess you're deleting this because this is now inbox in 3.0? Or am I missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct. https://github.com/dotnet/corefx/issues/31064 has been fixed for some time.
@@ -0,0 +1,13 @@ | |||
In order to build ML.NET for .NET Core 3.0, you need to do a few manual steps. | |||
|
|||
1. Pick a version of the .NET Core 3.0 SDK you want to use. As of this writing, I'm using `3.0.100-alpha1-009622`. You can get the latest available version from the [dotnet/core-sdk README](https://github.com/dotnet/core-sdk#installers-and-binaries) page. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pick [](start = 3, length = 4)
Thanks for adding this @eerhardt -- I found this impossibly confusing myself without asking you, I'm not sure how someone who didn't know the right person to ask would manage. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @eerhardt
I have a question regarding: What tells MSBuild to use Should we also have something like this?
|
2. Change the [DotnetCLIVersion.txt](https://github.com/dotnet/machinelearning/blob/master/DotnetCLIVersion.txt) file to use that version number. | ||
3. Delete the local `.\Tools\` folder from the root of the repo, to ensure you download the new version. | ||
4. Run `.\build.cmd -- /p:Configuration=Release-Intrinsics` from the root of the repo. | ||
5. If you want to build the NuGet packages, `.\build.cmd -buildPackages` after step 4. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The VS studio option is working for testing. But it will be nice to add the appropriate command to run all the tests from the command line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed with the latest.
Now you can run tests just like normal:
Run .\build.cmd -- /p:Configuration=Release-Intrinsics
from the root of the repo.
Run .\build.cmd -runTests -- /p:Configuration=Release-Intrinsics
from the root of the repo.
Is there any reason we could not pick an arbitrary (today's) build of 3.0 and install it on the CI machines so we could at least get "official" coverage of this build and it does not break? We need not ask contributors to install it until eg., 3.0 preview 1 release. |
@danmosemsft we may need to fix the tests first before making the tests run on ci for netcoreapp3.0 |
|
@adamsitnik - I've updated the PR to address your issue. Thanks for the catch. |
Fix #1011
There are a couple manual steps necessary to build for .NET Core 3.0. Adding instructions on how to do it, and changing the build infrastructure so the build actually works.