Предупреждение во время компиляции - это просто предупреждение. Вы можете игнорировать это, если у вас есть обе версии библиотеки Unity DLL, доступные для приложения.
Вы можете добиться этого, отредактировав свой App.config, чтобы он выглядел примерно так
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Unity" publicKeyToken="605f591b87e816bd"/>
<codeBase version="1.0.0.0" href="./v1/Unity.dll"/>
<codeBase version="2.0.0.0" href="./v2/Unity.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Это просто псевдоконфигурация, но вы можете видеть, что в каталоге bin моего приложения у меня будет подкаталог для обеих версий Unity. Этот конфиг в основном говорит среде выполнения .net: «Когда вам нужна версия 1 или 2 единицы, вы можете получить их из этих подкаталогов».
Конечно, СЛЕДУЕТ ли вам делать это, это другая история. Если в вашем приложении есть какой-либо свободный конфиг (например, xml), который ссылается на типы в DLL-библиотеке Unity - эти «ссылки» должны будут указывать строгое-строго-имя-версию Unity DLL, в противном случае вы получите ошибки во время выполнения.