2

в .NET Core автономное приложение ... Нам нужно указать время выполнения (RID) в project.json, мы хотим, чтобы наше приложение опубликовано. .. Почему это так? .NET Core - это кросс-платформа, и не важно, к какой платформе или операционной системе мы используем наше приложение. не так ли?Внедрение приложения .NET CORE. Почему RID должен быть известен, когда .NET Core является кросс-платформой

enter image description here

ответ

9

Именно потому это самодостаточный ... она содержит всю .NET Ядра, или, по крайней мере, столько, сколько требуется для запуска приложения. Хотя .NET Core является кросс-платформенным, это не означает, что вы можете использовать двоичный файл Linux x64 CLR на машине Windows 10 IoT ARM, например. Аналогично, ваше приложение может иметь зависимости от родных библиотек, которые будут меняться по платформе ... это не «одно-двоично-подходит-все».

Вместо этого вы скажете, на каких платформах вы хотите построить, и вы получите копию своего приложения для каждой из этих платформ, в комплекте с исполняемой средой и библиотеками для этой платформы.

Похоже на то, что вы хотите использовать вместо приложения автономного приложения - в какой момент вы полагаетесь на версию .NET Core, которая уже находится на целевой машине, что будет зависеть от платформу этой машины.

Подробнее см. Статью .NET Core Application Deployment о различиях между автономными приложениями и портативными устройствами.

Смежные вопросы