Однако мы также используем другие библиотеки, которые используют не-fips версию BouncyCastle.Cryptography из: https://www.nuget.org/packages/BuncyCastle.Cryptography
Обе эти библиотеки используют одно и то же пространство имен, что приводит к таким ошибкам, как:
Код: Выделить всё
The type 'CryptoServicesRegistrar' exists in both 'BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938' and 'bc-fips-1.0.1, Version=0.1.6017.4594, Culture=neutral, PublicKeyToken=null'
Итак, есть ли способ содержать dll FIPS только в MyCompany.Crypto пакет? И предотвратить утечку своего пространства имен другим потребителям? Я попробовал PrivateAssets="all" при использовании MyCompany.Crypto, но это не помогло.
Этот вопрос очень похож на: Конфликт версий BouncyCastle FIPS. C#
Однако ключевое отличие состоит в том, что я не использую BouncyCastle.Cyptography напрямую, это временная зависимость от стороннего пакета, который мы не контролируем. Поэтому я не могу создать псевдоним для пакета.
Использование Net Core 8
Подробнее здесь: https://stackoverflow.com/questions/792 ... ryptograph