Something I learned today

I have not been doing much work with Visual Studio 2022 recently. Actually, no much since its release.

Today I experience a silent conflict between the version of the OS running on the endpoint and the version of the GHI libraries.

I have been happily working along on a project. I started work today, and updated some code. Everything worked fine under debug so I next tried to cold boot the device. The program, which uses a I2C LCD, appeared not to be starting or throwing an exception. Back to the debugger and all is well.

mumble… mumble…

For the next few hours I tried to see if I could find a time sensitive portion of code which could account for standalone startup failure. No luck…

As I was working along, an email popup box showed up on my screen from GHI saying a new update was available for Endpoint. Could this be related to the issue I was experiencing.

First thing I did is check the version of the GHI Nuget packages being used by my program. Surprise, surprise, Visual Studio had silently updated the GHI packages. The version of the GHI library packages did not match the OS running on the device.

I flashed the new OS and now the program is working correctly when connected to Visual Studio or standalone.

To avoid this issue in the future, I turn off the Nuget Package Manager option to check for updates on build.

In the past, during GHI device deployment, there was a check to insure the firmware on the device matched the version of the library being used. Can something be done like this for endpoint?

Funny that the mismatch worked under the debugger but not standalone.

BTW, it seems that the system, during standalone, was freezing or throwing an exception during I2C operations.

I think the Nuget libraries were actually updated as I was working :slight_smile:

1 Like

I dont think new OS fixed that problem. Something is messup and flashing OS just restore default setting.

If it happened again, can you send us the project?

Of course!

1 Like

Bad news… you were right. The problem is not related to version conflict. It returned with matching version.

I sent a DM message.

Can you read the the SD to img and send us the image? Usually any tool allowes you write image to sd also support read entire sd back to img.

We will burn that image to sd and will see what wrong.

1 Like

DM your email please.

1 Like



When an application is deployed to the Endpoint, a prior “run on boot” setting, done via the Config program, is reset. The run on boot setting needs to be set again to make the newly deployed application bootable.

1 Like