-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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 net7.0 TFM references to net8.0 #66930
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
It is not that simple though. Specifically when doing a normal build of our product, we cannot include What all NuPkg files is source build expecting to consume from our repository? That is the starting point for what all needs to change. Also how are we testing source build? Up until this point we've relied on source build essentially being us building the same product so only minimal smoke testing is really necessary. This new requirement though means that we're building a significantly different product (the NuPkg is considerably different). How is testing occurring now?
I do not see how this will reduce maintainability for us. These properties are only useful in MSBuild files while we commonly find the need to specify TFM in powershell scripts and C# tool source. That means we end up hard coding what these values mean anyways. Further it's unclear at what cadence these properties will update in arcade and if those updates our deployment requirements. For example it's uncertain when say |
Ran some experiments locally where I did a source build and grepped through the output. These are the DLLs we're producing today:
That list feels mostly correct. The inclusion of the .NET Framework ARM64 binaries is wrong as they have no place in source build. Should trim those out. These are the NuPkg files which are not simply
Again ARM64 is wrong. Other than that though it's feels right. |
@MichaelSimons curious about this question
|
Source-build is in a way no different than the Microsoft build. We rely on the individual repo's CI legs to do the appropriate testing. As part of the Unified Build work, we hope to improve upon this by having a set of integration tests that can run against the final product build as well as being able to run the repo tests within the VMR. FYI @mmitche |
Interestingly, I trimmed out net472 outputs in source-build and suddenly the Microsoft.Net.Compilers.Toolset package stopped working. Turns out that two (static) files added to the package:
were only added when building for net472. They aren't net472 specific. It's just a "do this once" clause. |
As a part of doing this we'll need to move the .NET SDK version used in global.json forward. Right now it's pinned to the 7.0.X SDK set https://github.com/dotnet/roslyn/blob/main/global.json#L3 |
In order to be source-build compliant for the .NET 8.0 release. All projects targeting a
net7.0
TFM must be upgraded tonet8.0
. It is preferred that a newNetCurrent
Arcade property be utilized as it eliminates this type of maintenance work for every release.The text was updated successfully, but these errors were encountered: