Ответ 1
Что именно означает это определение времени выполнения?
runtimes
перечисляет время выполнения, поддерживаемое нашим пакетом. Листинг времени выполнения необходим для автономных развертываний. Развертывание является самодостаточным, когда оно приносит свое собственное время выполнения.
Как мы узнаем, является ли наше развертывание самодостаточным? dependencies
укажите пакеты, от которых зависит наш пакет. Эти зависимости бывают трех типов.
-
build
пакет предназначен только для сборки и не является частью развертывания -
platform
пакет будет зависеть от предустановленной среды выполнения -
default
ни один из этих
Если наша зависимость "Microsoft.NETCore.App"
относится к типу default
, то она самодостаточна, и нам нужно будет принести свои собственные временные ряды. Если он имеет тип platform
, то он зависит от структуры.
почему это происходило только по некоторым проектам?
Это произойдет только в проектах, которые являются автономными развертываниями. Если вы посмотрите на те проекты, для которых не требуется свойство runtimes
, вы обнаружите, что они либо библиотеки классов, либо зависимые от структуры.
автономное развертывание
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0"
}
}
}
},
"runtimes": {
"win10-x64": {},
"osx.10.10-x64": {}
}
зависимое от платформы развертывание
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
}
}
}
библиотека классов
"frameworks": {
"netstandard1.6": {}
}
как это влияет на мою способность работать на других os, таких как linux или mac?
Это не так. Windows, Mac OS и Linux могут либо иметь предварительно установленную среду выполнения, либо приложить приложение к своей собственной среде выполнения.
См. также
- https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json
- https://docs.microsoft.com/en-us/dotnet/articles/core/deploying/index
- Эта ссылка, в частности, стоит прочитать, чтобы различать автономные и развертывания на основе структуры.
- https://docs.nuget.org/ndocs/schema/project.json