MAUI Blazor Hybrid is a great way to leverage web development skills to target multiple platforms, including iOS and Android. As with most recent platforms, there are some “growing pains” which can impact the daily life of developers.
In this case, this takes the form of an error message that hides the underlying error cause. When running the MAUI application targeting windows, an error saying “This project needs to be deployed before we can debug” is shown and nothing is started, alongside the error “
Error DEP0600: Deployment failed. Exception – The stub received bad data. The stub received bad data.
The project needs to be deployed before we can debug. Please enable Deploy in the Configuration Manager.
The first thing to check is, obviously, in the Configuration Manager, if the Debug option is enabled.
In my case, it was, so that was not the culprit, as the checkbox was already ticked.
After some more digging it seems the culprit boils down to the fact that I was using a long namespace
Note that the long namespace is the problem on its own. The problem is that the project namespace is used by default as the ApplicationTitle and the ApplicationId in the .csproj file,
Although I could not find anything in the documentation, it seems the limit is 30 characters.
With a namespace over 30 characters, the application refuses to start, (32 characters in the example below), where as if we remove 2 characters, bringing the length down to 30, it works.
This doesn’t work:
It’s important to clean the solution / project before running it after the change.
The application should now start, but it’s also possible that you’re now seeing the same error box, with a different error in the error list:
It may complain about merging manifests or a missing splashs creen.
However, for me at least, the culprit was a missing default language configuration. Open the “Package.appxmanifest” file, under the windows platform, and set the default language (to en-us, for instance).
The application should now be able to start.
Check the MQTT Article series.