Основываясь на ответе @ MarcGravell, вот версия, которая работает в Unity C #.
ObjectsClass foo = this;
foreach(var prop in foo.GetType().GetProperties()) {
Debug.Log("{0}={1}, " + prop.Name + ", " + prop.GetValue(foo, null));
}
Я опубликовал это в ответ на ошибку Энди в GitHub, но опубликовал его здесь для дальнейшего изучения:
Если вы используете .NET Core, единственное, что вам нужно сделать, чтобы обновить патч, это установите последнюю исправленную среду выполнения на машине, на которой запущено приложение (т. е. на ваших серверах, устройствах разработки и т. д.).
Приложения .NET Core автоматически переходят к самой высокой версии патча, связанной с выбранной парой мажор / минор. Это поведение можно отключить, используя настройку в [appname].runtimeconfig.json
, но мы настоятельно рекомендуем сохранить его, чтобы обеспечить постоянную работу в самой современной среде выполнения (со всеми выпущенными средствами защиты. исправления).
Хотя мы рекомендуем вам запустить на последнем патче, мы рекомендуем вам не обновлять ваше приложение для нацеливания на более поздние версии патча, так как ваше приложение не запустится [ 112], если этот патч не существует на целевой машине. Патчи не должны представлять API-интерфейсы, от которых нужно обновляться, чтобы не зависеть, поэтому нет необходимости обновлять ссылку на пакет.
Поскольку у вас есть 2.2.2 .Net core SDK, вы принудительно устанавливаете версию ASP.Net, указав RuntimeFrameworkVersion
в вашем csproj
.
<PropertyGroup>
<RuntimeFrameworkVersion>2.2.2</RuntimeFrameworkVersion>
</PropertyGroup>
Кто-нибудь знает, как это сделать правильно?
Я отправил вопрос в AspNetCore Github.
Вот ссылка для этого https://github.com/aspnet/AspNetCore/issues/10249
Я думаю, что это на самом деле ошибка (ошибка VS или ошибка dotnet, Я не знаю)
Посмотрим, что будет дальше.