Недавно я создал пустое приложение UWP в Visual Studio 2015, а затем попытался добавить пакет nuget в это приложение. Установка пакета не удалась, и в результате следующих messasges в окне вывода ...Универсальная платформа для Windows/UAP: что такое AOT?
System.Reflection.Emit.ILGeneration 4.0.1 provides a compile-time reference assembly for System.Reflection.Emit.ILGeneration on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-arm-aot).
System.Reflection.Emit.ILGeneration 4.0.1 provides a compile-time reference assembly for System.Reflection.Emit.ILGeneration on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x64-aot).
System.Reflection.Emit.ILGeneration 4.0.1 provides a compile-time reference assembly for System.Reflection.Emit.ILGeneration on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x86-aot).
Оглядевшись, я нашел ссылки на «автономную работу» в рамках «project.json»; (У меня выглядит так) ...
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0"
},
"frameworks": {
"uap10.0": {}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
Мой вопрос заключается в следующем: в чем разница между каждым «выполнения» и эквивалентного исполнения с «-aot» прилагается?
Я видел несколько сообщений, которые указывают, что я могу удалить эти промежутки времени, если я хочу использовать пакет nuget, который их не поддерживает, но я бы предпочел только удалить их, зная, что это такое.
Примечание. Я не знаю, имеет ли значение какое-либо значение, но приложение UWP, которое я создаю, как ожидается, будет загружено только с одной стороны (это бизнес-приложение). Тем не менее, в конечном итоге он может быть распространен через Windows Бизнес Магазин, чтобы облегчить обновление и т. Д.
Спасибо.
Это означает «Впереди времени». Противоположность «Just in Time». Описывает, как промежуточный код в ваших сборках компилируется в машинный код. Компилятор AOT в UWP лучше известен как .NET Native. И да, совершенно несовместимо с Reflection.Emit, поскольку для этого всегда требуется компилятор точно в момент времени. Вы не можете использовать его в приложении UWP. –
@ Мартин Робинс, любое обновление для этой проблемы? Не могли бы вы получить полезную информацию из ниже ответа? –