Skip to content
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

chore: Bump to net8.0-x #3613

Closed
wants to merge 1 commit into from
Closed

chore: Bump to net8.0-x #3613

wants to merge 1 commit into from

Conversation

bitsandfoxes
Copy link
Contributor

@bitsandfoxes bitsandfoxes commented Sep 18, 2024

Issue

Having updated to Xcode 16.0 I was no longer able to build the SDK. The error

The "AOTCompile" task failed unexpectedly. [/Users/bitfox/Workspace/sentry-dotnet/samples/Sentry.Samples.Ios.csproj]

contained some references regarding the iOS simulator tools not being found at a specified path. So I opted to update the rest of the tooling as well to .NET 8.0.401.

This lead to the following error

Project '../Sentry.Bindings.Android/Sentry.Bindings.Android.csproj' targets 'net7.0-android'. It cannot be referenced by a project that targets '.NETCoreApp,Version=v8.0'.
Project '../Sentry.Bindings.Cocoa/Sentry.Bindings.Cocoa.csproj' targets 'net7.0-ios;net7.0-maccatalyst'. It cannot be referenced by a project that targets '.NETCoreApp,Version=v8.0'.

Local environment

My local dev environment has

  • Xcode 16
  • .NET version 8.0.401

And the following workloads

dotnet workload --info
 Workload version: 8.0.400-manifests.f51a3a6b
Configured to use loose manifests when installing new manifests.
 [macos]
   Installation Source: SDK 8.0.400
   Manifest Version:    14.5.8030/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.macos/14.5.8030/WorkloadManifest.json
   Install Type:        FileBased

 [maui-tizen]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.82/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maui/8.0.82/WorkloadManifest.json
   Install Type:        FileBased

 [maui-maccatalyst]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.82/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maui/8.0.82/WorkloadManifest.json
   Install Type:        FileBased

 [maui-ios]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.82/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maui/8.0.82/WorkloadManifest.json
   Install Type:        FileBased

 [maui-android]
   Installation Source: SDK 8.0.400
   Manifest Version:    8.0.82/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maui/8.0.82/WorkloadManifest.json
   Install Type:        FileBased

 [ios]
   Installation Source: SDK 8.0.400
   Manifest Version:    17.5.8030/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.ios/17.5.8030/WorkloadManifest.json
   Install Type:        FileBased

 [maccatalyst]
   Installation Source: SDK 8.0.400
   Manifest Version:    17.5.8030/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.maccatalyst/17.5.8030/WorkloadManifest.json
   Install Type:        FileBased

 [android]
   Installation Source: SDK 8.0.400
   Manifest Version:    34.0.138/8.0.100
   Manifest Path:       /usr/local/share/dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.android/34.0.138/WorkloadManifest.json
   Install Type:        FileBased

Solution

Drop .net7.0-x support?

Copy link
Contributor

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

- Bump to `net8.0-x` ([#3613](https://github.com/getsentry/sentry-dotnet/pull/3613))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 07889ff

@jamescrosswell
Copy link
Collaborator

jamescrosswell commented Sep 18, 2024

So I opted to update the rest of the tooling as well to .NET 8.0.401.

@bitsandfoxes this is what I've been spinning my wheels on for over a week now in the feat/net9 PR.

There are now 4 issues/PRs realted to this ;-)

As it involves dropping support for net7.0, I don't think we want to do this in the main branch.

@jamescrosswell
Copy link
Collaborator

Having updated to Xcode 16.0 I was no longer able to build the SDK.

I'm still on 15.4 btw. What was the motivation for upgrading to 16?

@bitsandfoxes
Copy link
Contributor Author

As it involves dropping support for net7.0, I don't think we want to do this in the main branch.

True. But if just bumping to the newest .NET 8 we're in a bit of a pickle here. And I can't restore my local dev environment to build the SDK anymore without those changes. Spend quite a bit of time trying tho.

I'm still on 15.4 btw. What was the motivation for upgrading to 16?

Just got prompted for its availability and someone is going to run into it sooner than later.

@jamescrosswell
Copy link
Collaborator

jamescrosswell commented Sep 19, 2024

But if just bumping to the newest .NET 8 we're in a bit of a pickle here.

Agree, it's not ideal. The original device runners were vendored in from here:
https://github.com/dotnet/maui/tree/main/src/TestUtils

I spent all day today trying to update the code we have in Sentry from the latest in that main branch and I have it building... but when I try to run the device tests nothing happens 😢

I spent all day yesterday ripping that code out and replacing it with this NuGet package instead and, again, that builds but none of the tests run.

[Edit:] Actually I got the tests running when using this NuGet package... which is probably a good thing (means we can delete all that code we copied into the repo)... however the same tests still fail with the CastleProxy error.

And I spent a couple of days before that building a minimal repro for what I thought was a problem referencing internal members of strongly named assemblies. Frustratingly, the tests in that one pass 🤕

I feel like I'm spinning on a mouse wheel here a bit... I've got one more thing I can try, that Bruno suggested. After that, the only thing I can think to do is to open an issue on the CastleProxy repo with a variant of that minimal repro (referencing the Sentry.Tests.dll).

@bitsandfoxes
Copy link
Contributor Author

Prolly not the best of ideas right now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants