-
Notifications
You must be signed in to change notification settings - Fork 378
[WIP] Use NET=Runtime on tasks and delete .NET Framework task implementations #16413
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
base: main
Are you sure you want to change the base?
Conversation
|
Two blockers so far:
Slightly related: There a few remaining tools(!) / libraries that still target .NET Framework that I'm not sure about: Helix.Client, Helix.JobSender, StrongName, SignCheck and SignCheckLibrary. I wonder if all those need to stay on .NET Framework? |
c0c2104 to
35ef0d6
Compare
|
Love this. |
|
SignTool running on framework might have to do with packing/unpacking VSIX's. At least that was the case at some point. For signcheck...IIRC some functionality used to not be supported on core. Maybe some authenticode or VSIX checking? Either way, I think that was resolved. |
Needed to unblock dotnet/arcade#16413 to workaround dotnet/msbuild#12895 but in general offers a way to import BundledVersions.props information from projects that don't import the Microsoft.NET.Sdk.
| if (VerifyRecursive) | ||
| { | ||
| #if NETFRAMEWORK | ||
| if (PEHeader.ImageSectionHeaders.Select(s => s.SectionName).Contains(".wixburn")) |
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'm a little confused as to why this was excluded on core before if it worked..any ideas?
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.
b1439d7 - @ellahathaway I know that was a long time ago but do you maybe remember?
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.
Hm.... I unfortunately don't remember, and I'm not even sure I could guess because, as Matt said, it worked before.
I did just e2e test it this change with arcade-validation and didn't encounter any errors 🤷
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 think you misunderstood. We were curious why this was excluded before in your change given that the code compiles just fine on NETCOREAPP.
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 understood what you meant, but I'm sorry I wasn't clear in my response. I don't remember why I excluded it.
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.
Maybe it was protecting some downstream codepath? Either way, this is safer than removing the code altogether.
By using `NET="Runtime"` on UsingTask declarations, msbuild runs the task always on .NETCoreApp, even on desktop msbuild. Delete two unused projects: - IssueManager (not used in dnceng anymore) - Microsoft.DotNet.Tar (was only necessary for desktop SignTool)
df38978 to
b6284bd
Compare
|
VMR validation build: dotnet/dotnet#4554 |
By using
NET="Runtime"on UsingTask declarations, msbuild runs the task always on .NETCoreApp, even on desktop msbuild.Delete two unused projects:
Benefits: