-
Notifications
You must be signed in to change notification settings - Fork 25.1k
DLL file extension change updates #35208
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
Conversation
@guardrex It sounds weird. Switching off webcil should work and in runtime we have tests that stretches it. Could you please open an issue in dotnet/runtime ideally with the repro that you tested on. Please ping me there. |
There's no problem with switching off Webcil. The issue is that if the dev switches off Webcil, they get DLLs, and this section was about using PowerShell commands to change the file extensions from ... break now. They used to work back in the 7.0 era. What I've done is just version that section out for 8.0 or later on the grounds that the vast majority of devs should be using Webcil. Because this doesn't have anything to do with Webcil ... only commands in this article section ... we'd usually open the issue here on the docs repo. Do you want an issue here focused on updating the commands in the artcile, or do you really want one on the dotnet/runtime repo? ... or just stick with the direction that I took (i.e., version the section out at 8.0+). |
@guardrex I'm sorry for misunderstanding you! I applied Saturday's quality of reading github comments where I needed Monday's. |
@guardrex I read it all once again and my final question to confirm that I understand it is: There isn't a problem disabling Webcil and changing the extension, but if Webcil is enabled, the extension for managed dlls must be |
Not exactly. Let's break that into two scenarios for 8.0 or later ...
†possibly: We told devs that merely changing extensions wouldn't work in many cases due to heuristic file scanning. We told devs that to avoid blocked DLLs that they should either upgrade their apps to 8.0 or later to use Webcil or use a custom deployment layout (.NET 6 or later). The question is if we should have an issue to fix our guidance for 8.0 or later ... or 9.0 or 10.0, whenever it broke, I'd need to investigate further to see when it broke ... for changing |
Just to clarify why I typed all that out 😄 .......
Not exactly. We never had that guidance. We've always assumed that if the dev uses Webcil that they won't have a problem with blocked files, and there are no PU or doc issues of anyone having a problem with blocked |
Fixes #35207
Fixes #35196
@maraf ... I confirmed that our guidance on changing DLL extensions when Webcil is disabled is broken 💥. Why it's broken is unclear beyond the runtime failing to start with a console error message to the effect
[MONO] * Assertion at /__w/1/s/src/mono/mono/metadata/assembly.c:2718, condition '<disabled>' not met
.On this PR, I'm versioning the guidance out for 8.0 or later, when Webcil took over. Unlike the troubleshoot integrity PowerShell script, I'm not going to open an issue to determine if we should devise new DLL extension change guidance. For one thing since the release of .NET 8, no issues have been opened on the docs repo or on the ASP.NET Core product unit repo asking about changing DLL file extensions or blocked Webcil (
.wasm
) files. Let me know if you'd like to have such an issue opened, but it would be up to the PU to work out the procedure for .NET 8 or later apps, including any deltas across versions since the release of .NET 8. I'd prefer not to open such an issue if it's going to sit here for years ... which unfortunately happens 😄.... and sorry for all of the commit pings. I thought this would go in fairly easily, but the coverage is tricky to get just right.
Internal previews