Re: seeking guidance to solve compatibility problems in automated buil




"Richard Winks" <RichardWinks@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:D4AA1219-E2DB-48D7-A7BD-037821364CD1@xxxxxxxxxxxxxxxx
I have inherited a product written exclusively in Visual Basic 6.

The product consists of a single exe and a number of dlls.

Dlls are interdependent and are self-registering.

The problem I have is that I extract the component projects from sourcesafe
as the developer checks it in, build it (vb6 /makedll...), register it and
then rebuild the dependent dlls or the exe, I get reference errors.

If I open the failed component project in VB6, and reselect the reference,
by examining the saved .vbp file I find that reference GUID's have changed
for the built reference.

I understand that this has something to do with binary compatibility but the
developers have assured me that it is turned off.

And that's the problem. It should be turned "on". You want to maintain binary compatibility, not break it. If binary compatibility is turned "off" (meaning either the No Compatibility or Project Compatibility option is set), then every time you recompile that component, you'll have to recompile EVERYTHING that uses it.


Can anyone direct me to a definitive methodology for handling a situation
like this. I find some vague and unclear references to using Visual Basic
Group (.VBG) projects but I tried building one large group including the main
exe and all dependencies and run into similar problems.

See this:

http://www.vbsight.com/BinaryComp.htm
(courtesy of Ken Halter)

--
Mike
Microsoft MVP Visual Basic

.



Relevant Pages

  • Re: cant cast ABC to ABC (same class???)
    ... Dll1 (no references for this in the main exe build) extends Base to Derived. ... The main exe loads up the dlls at run time and, through the interface, calls ... interfaces in a separate project and reference it from both other DLLs. ...
    (microsoft.public.dotnet.general)
  • Re: HELP!! Im having "DLL Hell" in .NET
    ... huge known bug if you don't do this (and your dlls are larger than ... It is a client server application with 1 exe as the ... > all the supporting assemblies in directories in the root. ... > true for each reference in these assemblies. ...
    (microsoft.public.dotnet.general)
  • Re: How to stop updating DLLs?
    ... > Say I have four projects - one is an EXE and three are DLLs. ... Create a \lib folder as a sibling to your exe's .bin folder. ... ..DLL's there and use a binary reference instad of a project reference. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: How to order builds?
    ... Because these DLLs may or may not go along with the EXE. ... When I deploy, I want the EXE to reference a DLL file, not a project. ... referencing by file and project post development? ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: ActiveX.exe question
    ... simply Shelling or running an AX EXE will ... I don't think that registering any AX thing has much to do with the ... An analogy would be the Declarations of 'real' DLLs ... otherwise binary compatibility would not work. ...
    (microsoft.public.vb.general.discussion)