crowdin / crowdin-api-client-dotnet

.NET client library for Crowdin API
https://www.nuget.org/packages/Crowdin.Api/
MIT License
50 stars 27 forks source link

Assembly in nuget is not signed #249

Open dsvictory opened 6 days ago

dsvictory commented 6 days ago

Hi!

In our company we interract with CrowdIn from projects which are signed and we can't use CrowdIn.Api library, because it is not signed. We get this error because of that:

Could not load file or assembly 'Crowdin.Api, Version=2.24.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

Could you, please, publish to nuget a signed dll?

Other options to avoid this problem are pretty exhausted.)

andrii-bodnar commented 6 days ago

Hi!

Could you please provide some examples of Nuget libraries that provide such signed DLLs?

Some guides and more examples (including GitHub Action workflows) are also welcome.

dsvictory commented 5 days ago

All these libraries are signed. They all have a PublicKeyToken in their strong names. And that's why we can use it in our signed projects without any problems.

Polly Sentry Newtonsoft.Json

image

Here is a doc about creating a key pair for signing. How to: Create a public-private key pair

Here is an official doc about signing. MSDN Signing assembly

I don't have appropriate experience with GitHub Actions, but I'll try to find something useful. But I think you need only to generate a key and add it to the projects' properties without any changes in CI/CD pipelines, but you need to put a part of key to the repository, like in Polly. All configuration for signing will be saved in .csproj files.