-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Update .NET Core SDK #14643
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
Update .NET Core SDK #14643
Conversation
Desperately waiting for dotnet/arcade#811 |
|
global.json
Outdated
@@ -1,9 +1,9 @@ | |||
{ | |||
"tools": { | |||
"dotnet": "3.0.100-preview-010010" | |||
"dotnet": "3.0.100-preview4-010309" |
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 would recommend not proceeding beyond preview 3 yet. Our master branch is still at preview 3. Preview 3 SDKs can be found in the 'release/3.0.1xx' column on this page: https://github.com/dotnet/core-sdk/tree/release/3.0.1xx#installers-and-binaries
@bricelam I don't think it's a diamond dependency issue. The error says you have a forced downgrade from
So, my guess is the real problem is that |
@dsplaisted made changes recently to how |
@natemcmaster It looks like the changes you reference might break this, but I don't think they have flowed into a build of the .NET Core SDK yet, so I don't think they would be breaking anything yet. |
Ugg. They're back.
|
|
It looks like you're directly referencing the Microsoft.NETCore.Platforms package (though it might be implicit). Is that the case? What do you need to reference that package for? |
AspNet repos set BundledNETCorePlatformsPackageVersion to workaround https://github.com/dotnet/cli/issues/10528 |
@natemcmaster If you do that then you'll need to keep updating that version to make sure it's at least equal to the version referenced by Microsoft.NETCore.App. When we switch to the .Ref package, this should no longer be necessary. I imagine that this is needed because you're overriding the version of .NET Core that the SDK would give you by default. |
@dsplaisted yes, that's correct. @bricelam since I last reviewed this PR, it looks like the versions of NETCore.App and the SDK have changed. I think originally the problem was that RuntimeFrameworkVersion was not honored by the SDK, but now it appears this is the diamond dependency problem. I believe you need to consume a newer version of CoreFX packages to match the updated version of Microsoft.NETCore.App. It's possible this didn't surface until now because the version of the SDK you were using didn't use the BundledNETCorePlatformsPackageVersion property. In EF Core: In core-setup: <Dependency Name="Microsoft.NETCore.Platforms" Version="3.0.0-preview.19109.6">
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>0abec4390b30fdda97dc496594f9b1f9c9b20e17</Sha>
</Dependency> |
@ajcvickers Latest errors:
|
I suspect there's a race between when the CI jobs restore packages and when NuGet / MyGet / whatever finish indexing. Have you tried |
@dougbu This happens locally too. No idea what's actually conflicting with what. The errors makes it sound like NETStandard.Library version 1.6.0 is internally inconsistent, but that's unlikely. |
Something may be upgrading the runtime.win.* packages to an incompatible version. Maybe Microsoft.NETCore.App... |
Can you switch to NETStandard.Library 1.6.1? I think that should resolve the downgrades. I think what is happening here is that the Microsoft.NETCore.App 1.1.x package adds RID-specific dependencies which end up looking like they come from NETStandard.Library and thus it looks inconsistent. This was a problem in .NET Core 1.x, and the best solution we came up with was to always use version 1.6.1 of the NETStandard.Library package and not to use 1.6.0. |
That worked. New (unrelated) errors:
@wli3 This is happening in the dotnet-ef project. Why is it even trying to restore these? |
@bricelam When targeting .NET Core 3.0, currently it will restore all of the targeting packs (which includes WindowsDesktop) if they aren't part of the SDK. This is because (eventually) there could be a transitive FrameworkReference to that shared framework which is discovered after restore. Probably the problem here is that you are overriding |
Hmmm, we're just using Arcade's |
Also, https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json is being used as a source. |
Sorry, there is a whole list of default sources, and I just linked the first line. The link should have been https://github.com/dotnet/core-sdk/blob/master/src/redist/targets/GenerateBundledVersions.targets#L169-L174 For this package, you probably need https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json |
Might actually be a publishing issue. I don't see version 3.0.0-preview4-27504-2 on the feed. |
You are right, that is not the correct version of the package that it should be using. Are you setting the |
Yes. We set it to dogfood the latest Microsoft.NETCore.App. Is there an alternative? Should we even be trying to dogfood it outside of the SDK? |
I don't know whether you should be dogfooding it outside of the SDK. It certainly has the potential to make things more complicated. However, if you do want to just use the specified version of Microsoft.NETCore.App, then you should be able to do the following: <ItemGroup>
<FrameworkReference Update="Microsoft.NETCore.App" RuntimeFrameworkVersion="$(MicrosoftNETCoreAppPackageVersion)" />
</ItemGroup> IE, it is possible to specify the |
Things are currently way to complex to manage. Going to try and reduce our direct dependencies to just the ones that are actually needed. |
New error
|
The GenerateShims failure is actually a bug I fixed yesterday with dotnet/sdk#3002 Unfortunately it looks like it hasn't flowed into a build of the .NET Core SDK. I'll follow up on that. EDIT: The PR to flow the dependency into dotnet/cli is failing: dotnet/cli#10896 |
Of course, the macOS failure may indicate an issue |
Thanks for your help yesterday, @dsplaisted. It looks like we're finally unblocked. |
macOS failure looks like some race condition in MSBuild or Arcade. Unrelated to my changes. Removing some unnecessary dependencies. We'll see if it fails again. |
@@ -1,9 +1,9 @@ | |||
{ | |||
"tools": { | |||
"dotnet": "3.0.100-preview-010010" | |||
"dotnet": "3.0.100-preview4-010612" |
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.
@roji Hopefully in the future, updating the SDK will only require changing this file. 😉
@bricelam you're my hero... |
Blocked on dotnet/sdk#2867