Платформо-зависимая компиляция C# DLL

Я пытаюсь настроить кучу управляемых библиотек C# для работы внутри Unity3D, но я изо всех сил пытаюсь это сделать:

Представьте себе, что C# управляемого Platform.dll для платформы A и Platform.dll для платформы B.

Теперь я хочу создать C# управляемый dll, скажем Core.dll, который зависит от Platform.dll, но сам по себе не содержит никакого кода, зависящего от платформы. Я подумал, что должна быть возможность создать один управляемый C# dll, который ищет правильный Platform.dll во время выполнения (учитывая, что включен только один из Platform.dll).

Возможно ли это, и если да, то как? Или я должен придерживаться различных Core.dll, которые опять-таки зависят от платформы, потому что лежит в основе Platform.dll?

1 ответ

Если вы правильно настроили dll в Unity (т.е. включили / исключили их для соответствующих платформ), Unity должен включить в сборку только один Platform.dll. Если Core.dll не использует интерфейс, присутствующий только в подмножестве ваших Platform.dll, он должен работать нормально. В противном случае вы получите исключение при попытке построить проект Unity для любой платформы, где соответствующий Platform.dll несовместим с Core.dll.

Другие вопросы по тегам