Hi Ian,
Even if the projects don´t interact at all, it does not hurt to allow a
solution to include projects of different kind and languages. It's better to
allow the user to decide what to do than imposing artificial limitations.
But if you really want to, you can try to intercept the
EnvDTE.ProjectEvents.ItemAdded event, check the language, and if it is not
allowed show a messagebox and remove the project from the solution. The SDK
maybe allow to do this at a more low level.

Signature
Best regards,
Carlos J. Quintero
MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
>I am designing a new set of three different languages that will not
> interoperate at all. Because they will not interact at all, and to
[quoted text clipped - 12 lines]
>
> -Ian
FYA - 09 Feb 2006 17:23 GMT
Carlos,
While I generally agree that imposing artifical limitations on my customers
is not the right thing to do, this is one of the exceptions that prove the
rule. Intercepting the AddItem event seems like a simple enough way to do it,
but I am working on a more wholesale conversion/rebranding of the IDE
(through the PPE program). As such, I need this functionality to be more
tightly integrated than sniffing for an event. Are there any suggestions on
where to start?
Thanks,
Ian
> Hi Ian,
>
[quoted text clipped - 5 lines]
> allowed show a messagebox and remove the project from the solution. The SDK
> maybe allow to do this at a more low level.
Carlos J. Quintero [VB MVP] - 09 Feb 2006 17:30 GMT
Hi Ian,
I see. Then take a look to see if in the VS 2005 SDK there is some sample
related to that; the extensibility model for add-ins (EnvDTE) won´t help at
that.

Signature
Best regards,
Carlos J. Quintero
MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
> Carlos,
>
[quoted text clipped - 12 lines]
>
> Ian