Visual C++ IDE from the trenches
Stephane has responded with some cogent observations and questions, see the feedback to my response yesterday. let's see if i can (briefly) cover the issues he brings up one at a time:
first off, the handling of managed references to activex controls and the differences between how they are handled in c# and vc project systems. to be clear, managed projects referencing activex all treat them the same way, it is native c++ projects that function differently. in managed projects the CLSID for the control is stored in the project file, while in native projects it is not. this is due entirely to the fact that managed projects need the guid in order to build the project and native ones do not. neither project system attempts to use the project file as a repository for deployment information. in fact, deployment is not handled in VS by the language project systems at all, but rather by setting up separate deployment projects. (i won't comment on deployment projects, since i have nothing nice to say).
project file formats really has nothing to do with any of the above. there was never an intention to provide deployment information in the project file itself.
progid, clsids and versioning: there is no correct answer to the COM versioning question(s) and the project system doesn't even try to provide one; if it did, it would always be wrong for some set of customers. some apps would prefer to pick up any version of a control, for instance, while others are tied to a very specific version. COM versioning is a very complex issue, this is one of the prime motivations behind .NET (not that it really solves the issues, if you ask me). what we try to do in the vc project system is to give the developer the flexibility to do what they think is best. if there are ways we can get closer to that goal, we'd love to hear about them.
finally, regarding reference paths and sharing. yes, Stephane, i think you have picked up on exactly what i was saying about references: they aren't designed to be shareable in a flexible manner. hence my recommendation against using them in 2003 unless absolutely necessary. we in VC are certainly trying to improve the situation in whidbey. i can't speak for the c#/vb/j# project system.
Anonymous comments are disabled