views:

805

answers:

5

I would like to do some Office Interop stuff using .NET 4.0, but developing the rest of my projekt using VS2008 and .NET3.5.

How can I now use the functionality from the .NET 4.0 assembly within my other solution. Loading CLR 4.0 assemblies into a 2.0 AppDomain won't work, does it?

+6  A: 

In short: you can't.

.NET 4.0 is a totally new CLR (4.0) and as far as I know, cannot be intermixed with .NET 3.5 and/or used from VS 2008, sorry.

You could use .NET 2.0 assemblies from your .NET 4.0 code, if you also have a guarantee that the .NET 2.0 framework is on your target machine at the same time (side-by-side) with .NET 4.

marc_s
+3  A: 

You can't use a later .NET framework version assembly with an older .NET version.

Achilles
A: 

I'm not so sure about this but I believe you can do it this way (Altough, maybe not recomendable but technically posible.)

Since Net Framework 4.0 uses a diferent CLR and it's posible to have both installed side by side... Maybe you can try to load your 4.0 assembly in the 4.0 CLR and your 2.0 app into the 2.0 and communicate between both through web services.

Again, I'm not sure if this is posible. It's just some idea.

Carlos Muñoz
No, there is no cross process communication in .Net. You would have to implement your own unmanaged (COM) communication.
Jason Short
+2  A: 

CLR 4 allows InProc Side by side, but you'd still be looking at some interop solution between the loaded 2.0 and 4.0 code.

Damien_The_Unbeliever
A: 

I can not reference them too.

If I did it, there is a declamation icon appeared on the assemblies from .net 4.0.

I'd like to try the new features, but the limiations makes me failed..

shannon