That's incorrect. A PIA is a strongly named interop assembly that you can generate using Tlbimp as long as the file you are generating it from either is a type library or has a type library in it as is the case with CDO. It can also be done manually but I'm not messing with that. My problem is that when I try to generate a PIA off CDO it looks for ADODB which is a dependency and it can't find it. The documentation for generating PIAs with Tlbimp covers referencing dependencies but I still haven't been able to solve this problem so far. I'm gonna try generating my own adodb pia again, explicitly give it the ADODB namespace and then see if I can generate the CDO one which wants ADODB (referencing the adodb pia I made).
-----Original Message----- From: Discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Vince P Sent: Sunday, December 18, 2005 6:48 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] trying to generate a cdo primary interop assembly (pia) You can not generate a PIA of a COM library that isn't yours. Only the publisher of the original COM object can generate a PIA. You can of course generate a wrapper for a COM library by merely referencing a COM object on the COM tab. Which is the same method you would use to reference a COM library for you which you installed a PIA. So to make a long story short, just reference the COM library on the COM tab and if you have the PIA installed properly, it will be used as the wrapper. If there is no PIA, the Visual Studio will make a wrapper assembly for you. In your project's references if you view the properties of the COM references , there should be a property that tells you if the wrapper is a PIA -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Alex Smotritsky Sent: Sunday, December 18, 2005 5:21 PM To: [email protected] Subject: [ADVANCED-DOTNET] trying to generate a cdo primary interop assembly (pia) I'm trying to generate a cdo pia using Tlbimp and keep getting the error: Referenced type library 'ADODB' does not have a primary interop assembly registered. There is an ADODB assembly in my gac. I've also tried referenceing C:\Program Files\Microsoft.NET\Primary Interop Assemblies\adodb.dll and have successfully created my own adodb pia from the Microsoft adodb com object but have not been able to generate a cdo pia because I always get that error. =================================== This list is hosted by DevelopMentor. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor. http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
