-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Changing Windows_NT -> Windows for enabling TargetPlatformMoniker feature of the sdk for platform specific tfms. #43651
Conversation
We are changing Windows_NT -> win to use the sdks TargetPlatformMoniker feature. TargetPlatformMoniker does not allow underscore in the tfm string, The other option could be |
The regular user-facing TargetPlatformMonikers look like I think we should match the public SDK style. The namespace for these is different from the RID namespace and that's by design. |
Thats correct. |
.../Microsoft.Extensions.Hosting/tests/UnitTests/Microsoft.Extensions.Hosting.Unit.Tests.csproj
Outdated
Show resolved
Hide resolved
Don't forget newly updated doc using this term in #43557 |
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.
Will this cause the SDK to add a dependency to WPF/Winforms for tmfs >= net5.0 where tfm-windows
is a valid target framework?
Currently the sdk does not know about the |
Are you sure about that?
from https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/ |
i was talking about our current way of parsing. After we enabled the new feature it will use the sdk parsing. Currently we parse it our selves. |
@ViktorHofer @safern @ericstj can you please review this one ? |
Can you please test that scenario before we review/merge this, given that we are planning to depend on that feature ( |
I verified there are no additional references or changes due to the platform. |
@dsplaisted what are the observable changes when the |
This is not just about |
Right but AFAIK those aren't yet implemented and observable? |
Right now using Android and iOS aren't supported currently by the SDK, and you'll get errors if you try to target them unless you set some properties ( |
Thanks Daniel. @ericstj what are your thoughts on this? Sounds like we would need to remove additional references if they would come via |
It doesn't seem all that different to me than the fact that we need to remove all references that come from the SDK since we build those things. I would hope that anything that might be implicitly referenced in is also disable-able. |
@dsplaisted if I understood correctly, the
@dsplaisted can we make sure that anything that is referenced based on the |
Generally you can disable these by setting |
Thanks for the input Daniel and Eric. |
src/coreclr/src/System.Private.CoreLib/System.Private.CoreLib.csproj
Outdated
Show resolved
Hide resolved
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.
LGTM in general but I didn't review fully. We might want to wait until 11/2 (November's infra rollout) before merging.
I found one usage of TargetOS Windows_NT in Arcade that needs to be updated: https://github.com/dotnet/arcade/blob/cc7b7d1ee1d070cb3ccc2ffd6f4061850ddd232a/src/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk/src/build/Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk.targets#L43. |
@Anipik what's the status of this PR? Asking as you didn't add it to the November rollout issue. |
its ready for merging. i wasnt aware of how we do the rollouts. i added the pr to the issue |
Thanks, I will send out the rollout notice to the team today. |
@@ -16,7 +16,7 @@ Below is a list of all the various options we pivot the project builds on: | |||
|
|||
- **Target Frameworks:** .NETFramework, .NETStandard, .NETCoreApp | |||
- **Platform Runtimes:** .NETFramework (aka CLR/Desktop), CoreCLR, Mono | |||
- **OS:** Windows_NT, Linux, OSX, FreeBSD, AnyOS | |||
- **OS:** windows, Linux, OSX, FreeBSD, AnyOS |
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.
Why make Windows be lowercase but the rest capitalized? Is the plan to make the rest lowercase too?
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.
yes the plan is to make them similar to sdk targetPlatform strings
@Anipik as discussed last week, can you please make sure that issues are filed/refcounted for the CI failures? // EDIT: Ah I see you did but didn't link them here. If you don't mind please link them back in failing PRs so that we know if folks followed up on issues. Thanks |
Related to #32451 & #43646
Sdk introduced the TargetPlatformMoniker feature to support the platforms in the tfms string. But the tfms cannot have underscore in their name.