[Resending to group... Otherwise Rik's reply doesn't help anyone! :-)
Basically, off-list it was determined that Rik had binary compatibility
problems, and binary compatibility was (temporarily) disabled.]

The problem is if you turn off binary compatibility then the GUIDs all
change. You would need to find out the original and the updated GUID for
each of the exposed ActiveX objects, then update that GUID in all
downstream source files / projects. Certainly possible, but perhaps not
the easiest thing to do!

In my experience, the "Unable to set version compatible component"
usually occurs under one of the following circumstances:

1) A referenced component has broken binary compatibility. As a result,
if any public property or method of your component uses objects from the
referenced component it can also not maintain binary compatibility.
2) (Usually the root cause) In one of the projects, the file being
referenced for binary compatibility is the same location that the output
is being built to.

Again, in my experience, the best way to resolve this is as follows:

1) Open each of the projects (or a solution containing all the
projects).
2) Set the project(s) to "project" compatibility.
3) Build the project(s).
4) Copy the output executable to a "compatibility" location. (If you're
using continuous integration, you probably also want the compatibility
file under source code control, but you only need to update it after a
binary compatibility break).
5) Set the project(s) back to binary compatibility, referencing the
compatibility copy of the file in question.
6) Repeat (as necessary) for any downstream project(s).

Once you have completed this, you should then be able to build the
entire group using Nant... At least until you need to change one of the
interfaces.

*** Warning : If you do change any of the interfaces, you need to update
your compatibility files too. Otherwise the next time you build the
project it will not maintain complete binary compatibility! I tend to do
this by copying the most recent successful build of a project to its
"compatibility" location. ***

Hope this helps,
Regards,
Richard

-----Original Message-----
From: Rik Hemsley [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 25, 2006 10:41
To: Foster, Richard - PAL
Subject: Re: [NAnt-users] Building VB6 project group

Sorry, I should have mentioned that, earlier in the script, I turn off
binary compatibility for the project files, because otherwise I get the
message "unable to set the version compatible component"

I believed that turning off BC for the build was the way to work around
this - I guess not then?

Cheers,
Rik


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to