2009-10-22 4 views
21

Ich möchte einige Office Interop-Sachen mit .NET 4.0 machen, aber den Rest meines Projekts mit VS2008 und .NET3.5 entwickeln.Wie auf .NET 4.0-Assembly in .NET 3.5-Projekten verwiesen wird

Wie kann ich jetzt die Funktionalität von der .NET 4.0-Assembly innerhalb meiner anderen Lösung verwenden. Das Laden von CLR 4.0-Assemblys in eine 2.0-Anwendungsdomäne funktioniert nicht, oder?

Antwort

25

Kurz gesagt: Sie können nicht.

.NET 4.0 ist eine völlig neue CLR (4.0) und soweit ich weiß, kann nicht mit .NET 3.5 gemischt und/oder von VS 2008 verwendet werden, sorry.

Sie können .NET 2.0-Assemblys aus Ihrem .NET 4.0-Code verwenden, wenn Sie gleichzeitig mit .NET 4 (Seite an Seite) gleichzeitig sicherstellen können, dass sich das .NET 2.0-Framework auf Ihrem Zielcomputer befindet

5

Sie können keine spätere .NET Framework-Version Assembly mit einer älteren .NET-Version verwenden.

1

Ich bin mir nicht so sicher über diese, aber ich glaube, dass Sie es auf diese Weise tun können (Altough, vielleicht nicht recomendable aber technisch posible.)

Da Net Framework 4.0 eine diferent CLR verwendet und es ist posible beide haben Seite an Seite installiert ... Vielleicht können Sie versuchen, Ihre 4.0-Assembly in die 4.0 CLR und Ihre 2.0-App in die 2.0 zu laden und zwischen beiden über Webdienste zu kommunizieren.

Ich bin mir nicht sicher, ob das möglich ist. Es ist nur eine Idee.

+1

Nein, es gibt keine Cross-Prozess-Kommunikation in .Net. Sie müssten Ihre eigene unmanaged (COM) Kommunikation implementieren. –

+7

Ich sehe nicht, warum Sie keine Webdienste zwischen zwei Anwendungen verwenden können, eine in .Net 2 und die andere in .Net 4. – pauloya

2

CLR 4 ermöglicht InProc Side by side, aber Sie würden immer noch nach einer Interop-Lösung zwischen dem geladenen 2.0- und 4.0-Code suchen.