I'm working on an application that makes extensive use of ComponentOne's C1FlexGrid. Of the dozens we use, three are missing their licenses.licx file and cause the demo splash screen to pop up while I'm starting the application.
Is there any way to determine which forms are causing this behavior. Short of checking hundreds of directories by hand, I don't see a way.
The licenses. licx file is a text file located in a . NET project that notifies Visual Studio to compile a license file into an executable's resource. This enables EXE applications to be deployed to a machine without an SDK installed.
According to Microsoft documentation only the executable assembly requires a licenses.licx. Dll assemblies with forms in them will still create one but it is ignored. This has been my experience as well. I would suggest opening each form in the designer view and rebuilding while in that view. This will usually add any missing license entries to the licenses.licx. It will not, however, update existing entries. This can be a problem if you've updated your components. For ComponentOne, you can usually edit the licenses.licx and remove the version information after the assembly name. Some other third party components are more finicky and touching their version info causes errors when you compile.
In my opinion the .NET licensing framework is cumbersome and an unnecessary burden on developers. There are far easier ways to ensure component licenses are respected.
You don't have to open every form. Each project has a single licenses.licx file. Just make sure the C1FlexGrid is referenced in those files and then do a full rebuild (Build | Rebuild All).
That should take care of the issue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With