View Full Version : CustomAction problem: No such interface supported
PhilCooper
01-03-2006, 08:18 AM
I have some custom actions which worked fine in Visual Build Pro 5.7 but don't in v6.0. I have run the "convertactions.bld" file as given in previous posting but this has made no difference. I can see the action in the Actions pane and the properties seem to be there. I can also add the action to a build. However when I run the build I either get the message:
"Error creating custom action 'ProjectOrder': No such interface supported"
or
"Error creating custom action 'ProjectOrder': Class not registered"
The actions are written in C#. I have recompiled these with the new VisBuildSrv.dll and registered using the attached 'bld' file.
Any suggestions ?
kinook
01-03-2006, 09:02 AM
Compare yours with the C# user action sample to see what might be different (User Actions\User Actions.bld under Samples [C# .NET Action group] and NETAction\NETAction.csproj in that folder for the project itself).
PhilCooper
01-03-2006, 09:43 AM
I compared my file step by step with the example and found no differences except that I have 5 user actions in the one COM dll so I have 5x the "Reg .NET Action".
To be sure I copied the relevant steps from the example "UserActions.bld" into a new build. The Registration all worked successfully but I still have problems.
I am now seeing a message:
"Error creating custom action 'ProjectOrder': Class not registered"
Any more ideas ?
kinook
01-03-2006, 03:11 PM
I was able to add a second action to the C# user action sample project without any problems. I've attached it here. If that doesn't help, please ZIP and post (or send support@kinook.com) your C# project, .action and .bld files. Thanks.
PhilCooper
01-03-2006, 05:26 PM
I seem to have it sorted now though still a bit puzzled. I eventually found that the previous (vbp 5.7) version of my actions was compiled in debug mode. For some reason, I had compiled them for vbp 6.0 in release mode. Debug mode had the "Register for Com Interop" option selected whilst Release mode didn't.
This kind of explains it but why would "RegAsm" not complain - doesn;t it set the option anyway ?
PhilCooper
01-04-2006, 06:31 AM
I have now tried this on another computer with the DLL compiled with the "Register for Com Interop" option set and it didn't work.
However, I then tried again with the DLL and all the ".action" files in the same directory - then it did work. Is this a requirement ?
kinook
01-05-2006, 10:01 AM
Originally posted by PhilCooper
I seem to have it sorted now though still a bit puzzled. I eventually found that the previous (vbp 5.7) version of my actions was compiled in debug mode. For some reason, I had compiled them for vbp 6.0 in release mode. Debug mode had the "Register for Com Interop" option selected whilst Release mode didn't.
This kind of explains it but why would "RegAsm" not complain - doesn;t it set the option anyway ?
Not sure. I tried my sample above with the project set to not register for COM Interop and it worked ok.
Originally posted by PhilCooper
I have now tried this on another computer with the DLL compiled with the "Register for Com Interop" option set and it didn't work.
However, I then tried again with the DLL and all the ".action" files in the same directory - then it did work. Is this a requirement ?
That should not be necessary, and it wasn't for us in the sample above. If you can ZIP and post or send your files, we can take a look and compare with the working sample to see what might be missing.
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc.