2010-11-12 41 views
1

J'ai un projet Visual Studio 2010 ciblant .NET Framework 4.0. Lorsque j'ajoute l'assembly d'interopérabilité principal pour Microsoft.Office.Interop.Outlook (version 10) à partir de l'onglet .NET de la boîte de dialogue Ajouter une référence, la version .NET Runtime est répertoriée pour l'assembly interop comme V1.1.4322? Pourquoi une telle ancienne version d'exécution? Je ne suis même pas sûr que ce soit important pour moi. Quelqu'un peut-il expliquer les implications de la version d'exécution d'un assemblage référencé? Je suppose que vous pouvez référencer des assemblys construits avec des runtimes plus anciens mais pas plus récents. C'est-à-dire que je ne m'attendrais pas à ce qu'un projet .NET 3.5 (CLR 2) soit capable de faire référence à un assemblage .NET 4.0. Quoi qu'il en soit, .NET V1.1.4322 est ancienne et je ne comprends pas pourquoi l'assembly interop Office répertorie cette ancienne version.Pourquoi le PIA pour Office 12 pour .NET version d'exécution v1.1.4322?

Répondre

2

Il existe encore une tonne de clients qui exécutent 1.x.

Toute nouvelle version, peut faire référence et exécuter une ancienne version. Parce qu'il fonctionne sous MSIL, il n'y a pas de coup de perf.

Si vous compiliez interop dans une version plus récente, vous perdriez immédiatement les clients qui s'exécutent sur une ancienne version.

Si l'interops n'a pas besoin d'une nouvelle fonctionnalité .NET, il n'y a aucun avantage à compiler vers une version plus récente de .NET.