Я выполняю миграцию библиотеки, написанной на С++, и имеет оболочку С#. Оболочка С# (LibWrapper
) имеет набор классов с пространствами имен, например:
namespace MyNamespace
class MyClass
class MyOtherClass
Моя новая библиотека LibraryCS
содержит те же пространства имен и имена классов, что и LibWrapper
(для каждого пользовательского требования), поэтому у меня также есть:
namespace MyNamespace
class MyClass
class MyOtherClass
Теперь, когда миграция завершена, я собираюсь создать тест, который сравнивает результаты использования обеих библиотек, для проверки миграции. Однако, когда я пытаюсь ссылаться на MyNamespace.MyClass
, я получаю ошибку компилятора (предположительно!), В которой говорится: "MyNamespace.MyClass определен как в LibWrapper, так и в LibraryCS".
Есть ли какой-либо трюк в этой проблеме, который позволит мне использовать два класса с одним и тем же именем, но из разных сборок в одном и том же клиентском коде?
Альтернативно, есть ли другой способ проверить это?
Переименование перенесенного пространства имен на что-то вроде MyNamespace2
, конечно, будет работать, но нас попросили не делать этого, чтобы упростить перенос кода клиента.