-
Notifications
You must be signed in to change notification settings - Fork 224
Skip strong name signing on Mono until Roslyn supports it #2558
Comments
On Mono you should be able to sign with OSS Sigining by using |
@moozzyk that doesn't help me for projects which I don't control 😄 |
To be clear, I can just remove the |
@akoeplinger - I wonder why not commit a change to the project and change the signing to OSS? If the snk is distributed with the project then I think there is not much difference between this and OSS signing. If snk is not distributed with the project you would not be able to compile anyways. |
@moozzyk the only valid reason would be because of it being a breaking change. |
@davidfowl Yeah, you're right. How about falling back to OSS signing + warning if the platform does not support snk? |
That sounds OK to me as well. |
@moozzyk Would you be likely to fit this into beta8 or should we assign it to the next milestone? |
Will this be done specifically for roslyn? Compilers based on IKVM.Reflection should not have issues signing with an SNK on mono. So the decision of not supporting SNK on mono should be the compiler's decision. |
This issue is about the roslyn compiler. |
Same issue on Windows, providing a ".snk" file in WithCryptoKeyFile:
|
@Illeris what? |
If project json contains the `keyFile` property the assembly should be signed using the provided snk. However real signing is not supported on Mono. Currently we just error out in this case, after this change we will fall back to using OSS signing. (Fixes #2558) Also adding a warning for a case where if both `strongName` and `keyFile` settings are provided we would just display errors from Roslyn which might be hard to understand/troubleshoot because the names used in the errors are different from the names we use in project.json (Fixes #2452)
…eClr If the project.json file contains the `keyFile` on CoreClr and Mono we will extract the public key from the snk file and will OSS sign the assembly with the extracted key. (Fixes #2558). We will do the same on desktop CLR if the `keyFile` option is accompanied by `"useOssSigning": true` As a result of this change the `keyFile` and the `useOssSigning` are no longer mutually exclusive and we will no show cyptic Roslyn compilation errors we would have shown before. (Fixes #2452).
…eClr If the project.json file contains the `keyFile` on CoreClr and Mono we will extract the public key from the snk file and will OSS sign the assembly with the extracted key. (Fixes #2558). We will do the same on desktop CLR if the `keyFile` option is accompanied by `"useOssSigning": true` As a result of this change the `keyFile` and the `useOssSigning` are no longer mutually exclusive and we will no show cyptic Roslyn compilation errors we would have shown before. (Fixes #2452).
Building projects that specify a
keyFile
in project.json (like serilog) doesn't work on Mono currently since the following error is generated:Since signing isn't supported by Roslyn on non-Windows platforms yet, signing should just be skipped and a warning printed instead.
The text was updated successfully, but these errors were encountered: