Как определить допустимые комбинации версий пакета NuGet для NanoFramework
Я создаю демонстрацию.NET NanoFramework, используя плату ESP32_VROOM_32. У меня возникают проблемы с определением правильной комбинации пакетов NuGet, чтобы избежать ошибки несоответствия сборки, когда я пытаюсь отладить свое решение на реальном оборудовании. Эта ошибка, которую я получаю, когда нажимаю на устройство:
[Found assemblies mismatches when checking for deployment pre-check.]
В настоящее время я установил следующие пакеты:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AMQPNetLite.nanoFramework" version="2.3.0.39" targetFramework="netnanoframework10" />
<package id="nanoFramework.CoreLibrary" version="1.7.3-preview.4" targetFramework="netnanoframework10" />
<package id="nanoFramework.Hardware.Esp32" version="1.2.1-preview.12" targetFramework="netnanoframework10" />
<package id="nanoFramework.ResourceManager" version="1.0.0-preview.15" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Events" version="1.4.2-preview.8" targetFramework="netnanoframework10" />
<package id="nanoFramework.Runtime.Native" version="1.4.0-preview.1" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Collections" version="1.0.1-preview.7" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Math" version="1.2.0-preview.16" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Net" version="1.4.1-preview.21" targetFramework="netnanoframework10" />
<package id="nanoFramework.System.Text" version="1.0.0-preview.22" targetFramework="netnanoframework10" />
</packages>
У меня вопрос: есть ли надежный систематический способ определить, какая комбинация пакетов NuGet будет работать вместе с прошивкой, установленной на устройстве?
Я перепробовал много разных комбинаций, но ничего не получилось.
В настоящее время у меня есть 1.4.0-preview.208
прошивка, установленная на ESP32, которая является последней стабильной версией.
2 ответа
Нет прямой связи между управлением версиями библиотек C# и реализацией встроенного ПО. Это потому, что каждая часть имеет свой отдельный цикл разработки. В декларации указывается, какая собственная версия требуется. От удалось к родному, а не наоборот.
Это показано в описании NuGet. Если вы хотите узнать об этом больше, прочтите это сообщение в блоге здесь.
А пока знайте, что для всех библиотек классов и прошивок опубликованы стабильные выпуски. Обновлены ссылки на образы прошивок.
В каждом пакете NuGet указано, от каких других пакетов он зависит и какой версии. Другого способа определить допустимую комбинацию пакетов нет.
Версия прошивки, которую вы загрузили, не является стабильной версией, поэтому в этой версии присутствует "предварительный просмотр". Но и NuGets тоже. И все в порядке: если вы используете "предварительную" прошивку, вы должны использовать "предварительную" версию NuGets.
Можете ли вы разместить здесь сообщение об ошибке о несоответствии версии, которое вы получили? Это поможет определить, что там не так.