Migration of .NET core 6.0 project from IDE extension v1 to IDE extension v2

Hi,

I already have .NET core 6.0 console application that has been made in IDE extension v1 (Toradex Torizon Support) inside Visual Studio Code using Torizon template. I have now seen that you have shut down Toradex Torizon Support extension and made Torizon IDE Extension (ApolloX). I have successfully installed new extension that runs on Ubuntu-22.04 inside WSL and manage to connect my verdin imx8m mini device(running Torizon Core 6.1.0). Also my VS solution consists of .NET core 6.0 console project which represents my backend with REST API and Blazor server project which represents my frontend web application.

My questions are following:

  • How can I run my application considering that there is no more configuration section in v2 extension (volumes, ports, devices) and config.yaml. When I try to run and debug from VS code I get error dotnet: not found. Also on your toradex page (and on git page for new extension) there is no detailed documentation how to run and debug applications on new IDE. On your toradex page you still have documentation for old IDE. Can you please give me documentation or explanation how can I run and debug my application in IDE v2?

  • On your Feature Overview for IDE v2 there is no supported use case for .NET Blazor does that mean you are removing support for Blazor?

  • As I understand from the current documentation for IDE v2 my C# code has to be inside WSL for the extension to see it? If this is the case, it further complicates the development of the application because I maintain my version control for the application inside Visual Studio, which does not allow me to version the code if it is inside WSL (problem with untrusted Git repository). Is there any possibility to solve the mentioned problem?

Greetings @fvodopive,

I have now seen that you have shut down Toradex Torizon Support extension

Just to clarify the original IDE extension is still supported for the time being and critical bugs will be fixed here. All that’s changed is that we will no longer do any further feature development on this version.

How can I run my application considering that there is no more configuration section in v2 extension (volumes, ports, devices) and config.yaml.

Any configurations and changes to the project are expected to be done by changing either your Dockerfile or Docker Compose file instead.

Also on your toradex page (and on git page for new extension) there is no detailed documentation how to run and debug applications on new IDE.

While we are still working on creating more documentation, there should be an article here on basic debug and deploy: Remote Deploy and Debug Projects | Toradex Developer Center

When I try to run and debug from VS code I get error dotnet: not found.

Sounds like the dotnet SDK wasn’t installed in your WSL distro. Though according to our article here: .NET Core Application Development on Visual Studio Code | Toradex Developer Center

The extensions should have installed this automatically. Maybe you can check if it was installed or not in your WSL distro.

On your Feature Overview for IDE v2 there is no supported use case for .NET Blazor does that mean you are removing support for Blazor?

I believe that table is outdated now. If you check the templates list here: GitHub - toradex/vscode-torizon-templates: VS Code Torizon Integrated Development Environment Templates

You can see we do provide a Blazor template.

As I understand from the current documentation for IDE v2 my C# code has to be inside WSL for the extension to see it? If this is the case, it further complicates the development of the application because I maintain my version control for the application inside Visual Studio, which does not allow me to version the code if it is inside WSL (problem with untrusted Git repository). Is there any possibility to solve the mentioned problem?

Let me run this by our IDE team and see if they have any ideas or suggestions.

Best Regards,
Jeremias

Greetings @jeremias.tx

Thank you for you fast response. You clarified my questions. Here is more questions and problems so I would be grateful if you can help me with them.

After I tried to use V2 extension my device went to engineering mode and I can not properly use my device (can not access it through extension nor shh through network). Can you give me solution how to turn off engineering mode because link that is listed for more info is not giving my any info for engineering mode.

I will use old extension for some time now till I manage to run my application on new IDE extension.
Now I want to return my old extension on VS and I am not sure is this right one because I removed it from my VS. Can you please verify that I have correct extension installed (picture bellow).

Hi @fvodopive ,

After I tried to use V2 extension my device went to engineering mode and I can not properly use my device (can not access it through extension nor shh through network). Can you give me solution how to turn off engineering mode because link that is listed for more info is not giving my any info for engineering mode.

We’re currently updating our documentation with this info, but in simple terms the IDE Extension V2 puts the device in engineering mode to facilitate debugging and development (therefore not recommended in production).

It shouldn’t cause network connection issues to your module. Can you connect to the device using serial to check if it has network e.g. IP address?

The easier way to remove engineering mode is to reinstall TorizonCore on the module.

I will use old extension for some time now till I manage to run my application on new IDE extension.
Now I want to return my old extension on VS and I am not sure is this right one because I removed it from my VS. Can you please verify that I have correct extension installed (picture bellow).

Yes, the picture you showed is the old IDE Extension V1. Just be sure to deactivate/remove the IDE Extension V2 before using V1.

Best regards,
Lucas Akira

Greetings @lucas_a.tx

We’re currently updating our documentation with this info, but in simple terms the IDE Extension V2 puts the device in engineering mode to facilitate debugging and development (therefore not recommended in production).

So for debugging to work inside the extension, the device needs to be in engineering mode? Is there a way to configure the device so that the device does not go into engineering mode and debugging still works? For the purposes of our application, the engineering mode would have to remain disabled as with the extension v1.

It shouldn’t cause network connection issues to your module. Can you connect to the device using serial to check if it has network e.g. IP address?

I checked the IP address using the serial port and tried to connect to it using SSH but failed (doesn’t work when using hostname either). I decided to remove the V2 extension for now and reinstall TorizonCore again on the device.

Best regards,
Filip Vodopivec

Hi @fvodopive ,

I contacted the IDE Extension team, and the device needs to be in engineering mode to make sure all features of the Extension V2 work, including debugging.

According to team, engineering mode only alters Docker-related configurations, it does not change the device hostname or IP address, so the fact that you’re seeing this network issue is very strange. Does your network have any restrictions on devices?

For the purposes of our application, the engineering mode would have to remain disabled as with the extension v1.

If I may ask, does engineering mode affect your application? What problems does it cause to your app?

Best regards,
Lucas Akira

Greetings @lucas_a.tx

According to team, engineering mode only alters Docker-related configurations, it does not change the device hostname or IP address, so the fact that you’re seeing this network issue is very strange. Does your network have any restrictions on devices?

Thanks for the clarification. My network does not have any device restrictions. But, on the device itself, we change the network settings through the application, which may be why I have problems. I need to investigate this further to know what is causing the problem.

Best regards,
Filip Vodopivec

Hello @fvodopive ,
Thanks for the feedback. Please update this thread with your findings :slight_smile:

Best regards,
Josep

Hi,
In some brief testing I have also seen this problem where our application alters network settings on the device.
Thanks
Ed

Hi @edwaugh,

Could you elaborate on your issue? Are you claiming your application is interfering with your network settings or is the IDE extension?

Best Regards,
Jeremias

Hi jeremias,

I have not investigated very much as we have decided not to switch to the new extension for now. But in a quick test our application fails when trying to apply the ip command as a subprocess.

Thanks
Ed