[WIP] Use NET=Runtime on tasks and delete .NET Framework task implementations#16413
[WIP] Use NET=Runtime on tasks and delete .NET Framework task implementations#16413ViktorHofer wants to merge 27 commits intomainfrom
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.
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.
b1439d7 - @ellahathaway I know that was a long time ago but do you maybe remember?
There was a problem hiding this comment.
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.
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.
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.
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: