У меня есть автономное приложение. net core на Ma c, и оно содержит другое приложение. net core в качестве плагина. Структура примерно такая:
MyApp.app
|---Content
|----MacOS
|---self-contained runtime *dlls and assemblies
|----Resources
|---MyPlugin.app
После запуска MyApp пользователь может запустить MyPlugin. Я надеюсь поделиться временем выполнения под MacOS. Как лучше всего это сделать?
Вот то, что я пробовал, основываясь на том, что я прочитал и протестировал, все они могут быть неправильными ...:
- Поскольку MyPlugin использует apphost, похоже, работает один из способов - установить dotnet_ root на MyApp / Content / MacOS . Затем он будет искать что-то вроде $ DOTNET_ROOT / shared / $ name / $ version , но поскольку MyApp является самодостаточным, у него нет этой структуры, а это значит, что мне нужно будет создать эту структуру самостоятельно. .
- Я думаю, что nethost создан для приложений, отличных от .netcore, для запуска среды выполнения .netcore, даже если я использую это, я думаю, он столкнется с той же проблемой, что и первый способ.
- Поскольку Docker изолирует среду моего приложения, если я построю свое приложение с использованием образа. net core docker, возможно, и MyApp, и MyPlguin найдут правильные библиотеки .NetCore. Но я не могу предположить, что пользователи могут запускать Docker.
Есть ли более простой или официальный способ сделать это? Поскольку MyApp уже запущен, когда я запускаю MyPlugin, можно ли просто повторно использовать уже запущенную среду выполнения?