Зареференсился на нугет
Microsoft.Azure.Management.Resourcemanager.Fluent из проэкта на C++/CLR. Получаю вот такою ошибку:
[error]packages\microsoft.azure.management.resourcemanager.fluent\1.38.1\lib\net461\microsoft.azure.management.resourcemanager.fluent.dll(0,0): Error C2757: 'ChildResource': a symbol with this name already exists and therefore this name cannot be used as a namespace name
Как показало небольшое расследование (см. рис1). Ошибка оправданна.
Вынести референс в проэкт C# и референситься через него, не помогает. Та же ошибка.
Вопрос, как можно решить эту проблему, кроме рефлекшена?
рис1:
Изучив этот асембли я понял, что те два интерфейса, которые мне мешают неоправданно public их можно было пометить, как internal не сломав ни какую функциональность. Естественно я проверил, что пометив их как internal проблема проподает, так как она изначально происходит в момент импорта публичных классов и интерфейсов.
От сюда вопрос:
Мне нужно поменять два интерфейса с public на internal.
Как можно сделать это в уже откомпилированном DLL? (.NET Framework 4.6.1)
C>Мне нужно поменять два интерфейса с public на internal.
C>Как можно сделать это в уже откомпилированном DLL? (.NET Framework 4.6.1)
Если кому понадобится, это можно сделать с помощью dnSpy (
https://github.com/dnSpy/dnSpy).