-
Notifications
You must be signed in to change notification settings - Fork 10.7k
Remove the cast from the empty web project template #33393
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,7 @@ | |
| <TargetFramework>${DefaultNetCoreTargetFramework}</TargetFramework> | ||
| <NoDefaultLaunchSettingsFile Condition="'$(ExcludeLaunchSettings)' == 'True'">True</NoDefaultLaunchSettingsFile> | ||
| <RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Company.WebApplication1</RootNamespace> | ||
| <LangVersion>preview</LangVersion> | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we'll be able to remove this when we get a new SDK. cc @jaredpar
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This will go away in .NET 6 P7.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @jaredpar can you help me understand this better as the docs seem to say preview frameworks will always default to their matching preview language: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version
|
||
| </PropertyGroup> | ||
|
|
||
| </Project> | ||
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.
Do we know why this was here before?
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 don't know, we'll see if something breaks. I spoke to Doug and he's going to follow up and do some research.
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.
@wtgodbe introduced this long ago (for a 3.0.0 preview) in 23a6e3e / #11818. We were reacting to a Roslyn breaking change and needed a newer toolset than Arcade (think we set
$(UsingToolMicrosoftNetCompilers)at one point) ormsbuildreferences by default. Maestro++ managed the version for a while but we stopped that at some point. @BrennanConroy and @pranavkm were among the few to change the version after we made the version manual.I don't remember the details of the breaking change but it had something to do w/ nullability annotations and @roji did relevant work in the efcore repo. @jaredpar may know though he wasn't involved in the conversation back in the summer of 2019.
As a follow up, we should do one of
aspnetcore/eng/Versions.props
Line 160 in 8ee0b03
$(UsingToolMicrosoftNetCompilers), meaning Arcade updates will bump the toolset version on occasionI don't know enough about the toolset to have an opinion on which choice is best. @jaredpar❔
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.
In general repositories should avoid explicitly referencing this package and instead prefer the one that just comes with arcade. The arcade version is updated at a regular cadence (roughly every other week). The idea being that this update cadence means we're regularly pushing new versions of the compiler to our partners in .NET.
This type of change where the version is pinned should be reserved for cases where a breaking change, bug, etc ... hits the repo and you need to pause the updates until we get a fix out. That appears to be what happened here except we forget to undo the pin once the bug was fixed.
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.
Right now, the Arcade version (see https://github.com/dotnet/arcade/blob/05634736a53ee65b0d19cf913d77d1f5d4293ebc/eng/Versions.props#L37) is far behind what the SDK uses by default (see https://github.com/dotnet/sdk/blob/ef6249b3b034b12f127b0d3a72ea428979f44413/eng/Versions.props#L120). Right now Arcade is only at
v3.10.0-4.21329.37while the SDK is atv4.0.0-2.21354.7. I suggest we simply remove our confusing$(MicrosoftNetCompilersToolsetVersion)property and leave$(UsingToolMicrosoftNetCompilers)unset i.e. my option (2). Agreed @dotnet/aspnet-build @jaredpar❔