Closed GeeWee closed 4 years ago
Perhaps a solution here would be simply to disable strong-naming? Microsoft recommends that you don't do it for .net core
I don't think it matters at all on .NET Core either way. To read that they recommend against it might be a bit too strong. Especially in light of their published guidance on docs.microsoft.com that suggest the exact opposite:
You should strong name your open-source .NET libraries. Strong naming an assembly ensures the most people can use it, and strict assembly loading only affects the .NET Framework.
Regardless, this repo creates a library that targets .NET Standard and tests on .NET Framework -- we haven't left everything behind for a brave .NET Core-only world. So ya, we still get benefits from strong name signing.
But I thank you for the bug report. It looks like sn
isn't on your path, which is unusual assuming you have the .NET Core SDK installed. Our PR/CI show that this script works on linux/mac but we probably don't go down the 'sn not found' path. So I'll see what I can do to at least improve the error message. We'll probably have to just fail and tell you to get the .NET SDK on your PATH and retry.
True, recommends against it is a strong word - but they do say you probably don't need it.
Hm, that is odd in regards to the CI. I've seen suggestions that only Mono includes sn.exe, but that doesn't seem to be the case here.
Odd. Maybe my install is broken somehow.
Hmm... I have mono and so do the CI machines. Maybe you're right and my script assumes mono is installed...
Yup: sn
comes from mono, as you say:
sn Mono StrongName - version 6.10.0.104
I wonder how to solve this...
Filed https://github.com/dotnet/sdk/issues/13560 to track adding an sn
tool to the .NET Core SDK.
In the meantime, I'll improve the error message to say that mono is required.
Thanks so much!
When running expand-templates.ps1 on a linux machine via powershell core, I get the following output.
Perhaps a solution here would be simply to disable strong-naming? Microsoft recommends that you don't do it for .net core