When implement Torizon: Run/restart release container receive the following error:
Could not execute because the application was not found or a compatible .NET SDK is not installed.
Possible reasons for this include:
- You intended to execute a .NET program:*
The application 'Uno_Test.dll' does not exist.*
- You intended to execute a .NET SDK command:*
It was not possible to find any installed .NET SDKs.*
Install a .NET SDK from:*
this was observed by our application and Torizon template as well. Debug mode for both application works well.
I was able to reproduce this issue on my side and I think I know what the issue is. If you look at your project’s
Dockerfile.release file you’ll see the command that it’s trying to run to execute the application binary. For example:
CMD /dotnet/dotnet <project_name>.dll
However the actual binary is
<project_name>.Skia.Gtk.dll. Which is why the error complains about the application not existing, since it doesn’t have the right file name. This appears to be an error on our side with the release template. The name is correct for the debug template however and that is why the debug mode works.
I’ll report this issue to our team to fix.
Thank you, Jeremias.
Is it any way to fix it manually?
Honestly I don’t think there’s an easy way to fix this at least in the extension. The issue is that since the extension auto-generates most everything, it will continue to just auto-generate the Dockerfile with the wrong filename.
You could manually build the container yourself outside of the extension, then in this way you could define the correct file name. However then you’d be working without the IDE extension.
We were able to find the solution by manually change of json file in the release tar package. Also pushed it into the docker registry and updated the module using OTA. Thank you very much for showing the right direction.
That’s good to hear that you were able to progress!
Hopefully we’ll be able to investigate the issue and have a proper fix in place for the extension in the near future.