Использовать в C++/CLR асембли с конфликтом имени класса и неймспейса
От: Caracrist https://1pwd.org/
Дата: 31.08.22 13:59
Оценка:
Зареференсился на нугет 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:
~~~~~
~lol~~
~~~ Single Password Solution
Re: Использовать в C++/CLR асембли с конфликтом имени класса и неймспейса
От: Caracrist https://1pwd.org/
Дата: 04.09.22 15:27
Оценка:
Изучив этот асембли я понял, что те два интерфейса, которые мне мешают неоправданно public их можно было пометить, как internal не сломав ни какую функциональность. Естественно я проверил, что пометив их как internal проблема проподает, так как она изначально происходит в момент импорта публичных классов и интерфейсов.

От сюда вопрос:
Мне нужно поменять два интерфейса с public на internal.
Как можно сделать это в уже откомпилированном DLL? (.NET Framework 4.6.1)
~~~~~
~lol~~
~~~ Single Password Solution
Re[2]: Использовать в C++/CLR асембли с конфликтом имени класса и неймспейса
От: Caracrist https://1pwd.org/
Дата: 04.09.22 17:06
Оценка:
C>Мне нужно поменять два интерфейса с public на internal.
C>Как можно сделать это в уже откомпилированном DLL? (.NET Framework 4.6.1)

Если кому понадобится, это можно сделать с помощью dnSpy (https://github.com/dnSpy/dnSpy).
~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.