Доброго времени суток.
Подскажите, пожалуйста, как добавить в студию собственную платформу, перенаправив путь к mscorlib.dll в другое место?
Интересует такой вот путь:
"C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\mscorlib.dll"
Уж не знаю по какой причине, но поставляемый в комплекте с Unity 3.5 Full смотрит в системную директорию, где обитают давно устраевшие файлы.
Свежей платформы найти не удалось.
Придётся писать собственную.
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Re: VS: Описание собственной платформы и mscorlib.dll
Здравствуйте, Albeoris, Вы писали:
A>Уж не знаю по какой причине, но поставляемый в комплекте с Unity 3.5 Full смотрит в системную директорию, где обитают давно устраевшие файлы.
Здравствуйте, Albeoris, Вы писали:
A>Доброго времени суток. A>Подскажите, пожалуйста, как добавить в студию собственную платформу, перенаправив путь к mscorlib.dll в другое место? A>Интересует такой вот путь: A>"C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\mscorlib.dll"
Можно в файле проекта добавить проекту свойство FrameworkPathOverride со значением в виде пути к сборкам платформы.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Sinix, Вы писали:
S>Если не поможет, ключевые слова для поиска — visual studio targeting pack for mono.
Хм. Отдельную платформу добавить удалось. Пляски с реестром не обязательны, достаточно создать каталог профиля — студия сама его подцепит.
Вот только после подмены DLL, резолвиться они на отрез отказываются:
Не удалось разрешить первичную ссылку "System", которая является сборкой .NET Framework, в целевой инфраструктуре. ".NETFramework,Version=v3.5,Profile=Unity Last". Чтобы исправить эту ошибку, удалите ссылку "System", или измените целевую инфраструктуру приложения на версию, которая содержит "System".
Если добавить HintPath — начинает корректно использоваться. То есть почему-то сборки, лежащие в тех же самых папках, отказываются находитьс (на самом деле понятно почему — ищут то они 3.5, вот только в mono солянка из кучи разных версий от 2.0.5.0 до 3.5).
Пытаюсь разобраться. Может во FrameworkList забить все сборки с их версиями и токенами? Но блин, родной "nity 3.5 .net full Base Class Libraries" как-то же без этого обходится. >_>
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Re[2]: VS: Описание собственной платформы и mscorlib.dll
Здравствуйте, AndrewVK, Вы писали:
AVK>Можно в файле проекта добавить проекту свойство FrameworkPathOverride со значением в виде пути к сборкам платформы.
A>Здравствуйте, AndrewVK, Вы писали:
AVK>>Можно в файле проекта добавить проекту свойство FrameworkPathOverride со значением в виде пути к сборкам платформы.
Работает!
Не знаю — почему он пишет предупреждение, но это работает. DLL'ки подгружаются правильные, процесс построения работает верно.
19.04.2016 12:17:46 |M| Loaded: True
Огромное спасибо!
P.S. Существует какой-нибудь способ подавить ошибку:
MSBuild.ResolveAssemblyReference.NoProfilesFound
?
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Здравствуйте, Albeoris, Вы писали:
A>Доброго времени суток. A>Подскажите, пожалуйста, как добавить в студию собственную платформу, перенаправив путь к mscorlib.dll в другое место? A>Интересует такой вот путь: A>"C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\mscorlib.dll"
Вопрос из любопытства, что ты хочешь этим добиться? После билда проекта под финальную платформу Unity в этот билд всё равно положит свой mscorlib.dll и прочие dll. Или ты их тоже хочешь подменять?
Re[2]: VS: Описание собственной платформы и mscorlib.dll
A>Вопрос из любопытства, что ты хочешь этим добиться? После билда проекта под финальную платформу Unity в этот билд всё равно положит свой mscorlib.dll и прочие dll. Или ты их тоже хочешь подменять?
Не понял вопроса.
Я хочу, чтобы как в Output'е проекта, так и на этапе компиляции использовалась эта DLL:
C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\mscorlib.dll
Собственно, с успехом этого добился благодаря джентльмену выше.
Необходимо для того, чтобы инжектируемая сборка использовала те же самые типы, что и игра во избежании TypeLoadException.
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Re[3]: VS: Описание собственной платформы и mscorlib.dll
Здравствуйте, Albeoris, Вы писали:
A>>Вопрос из любопытства, что ты хочешь этим добиться? После билда проекта под финальную платформу Unity в этот билд всё равно положит свой mscorlib.dll и прочие dll. Или ты их тоже хочешь подменять? A>Не понял вопроса.