Платформо-зависимая компиляция C # DLL - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь настроить кучу управляемых библиотек 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 Ответ

0 голосов
/ 11 января 2019

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

...