Creating 'builds' from DLLs with inbuilt legacy code references!
This might sound complicated but...
Our 'current' NET EXPRESS system is built using ONE .EXE which then calls .int files as required.
We're trying to replicate this idea by having a single 'top level' .EXE file (A.EXE) which then calls out to .DLL files (representing the old .ints).
Some of the .DLLs we've built contain a 'top level form program' which contains new 'managed code' which will then call out to 'non managed' code (old COBOL code in a VisCobol wrapper) which we've built as .DLL files in their own right but are referenced within the 'managed code .DLL).
For test purposes and to make sure these new 'top level' .DLLs work we initially built them as .EXE's in their own right and they work perfectly well.
We've then changed the output type for these top level programs, to 'Class Library', and built them as .DLLs. We've then attemped to 'build' these .DLLs into A.EXE as added to A..EXE's solution & referenced as an existing project. So far so good.
On attempting to build A.EXE, after adding in the new .DLL, I get the following errors for each of my 'old COBOL' programs built into my top level .DLL
Error 4 The OutputPath property is not set for project 'LegacyIPVal.cblproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='BPC'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform. C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 484
and A.EXE will not build. Whats the problem and how can I solve it?
I have opened up new support incident 2591769 for this issue as this is not really a question for the forum.
We will need you to zip up your Visual COBOL solution and projects and attach them to the incident so that we may take a closer look.
I've now established that the reason for my Error 4's on each of the 'Legacy Code' programs was because they were not included in the actual solution folder for A.EXE which I find a bit odd as they ARE included in the solution folders for the top level .DLL files.
I've also noticed that these 'legacy' programs don't need to be 'referenced' within the A.EXE solution but do need to be part of the solution itself in order that the error 4's don't occur and the A.EXE gets built.
This is a concern as it would now appear that we need to include ALL our programs within the A.EXE solution in order for it to build out correctly which seems a bit of a waste given that I'm now gonna have to create a 500 program solution folder. Can this be correct?