Différences entre le framework complet Microsoft .NET 4.0 et le profil client

360

Le programme d'installation complet de Microsoft .NET Framework 4.0 (32 et 64 bits) est de 48,1 Mo et le programme d'installation du profil client est de 41,0 Mo. Les fichiers d'installation extraits sont respectivement de 237 Mo et 194 Mo, et une fois installés, ils sont de 537 Mo et 427 Mo.

Il s'agit d'une différence de 110 Mo. Quelle différence y a-t-il entre les deux packages?

Quand est-il préférable d'installer le profil client au lieu du .NET Framework complet?

Cliquez sur OK
la source
52
Une différence de 7,1 Mo? Les développeurs sont frustrés par les erreurs de compilation parce que Microsoft pensait que 7,1 Mo valaient la peine de le diviser en deux? Impressionnant.
JYelton
16
Ancien thread mais avec le .NET Framework 4.5, le profil client a été interrompu
Bart s
13
A 7.1 MB difference? Developers get frustrated with compile errors because Microsoft thought 7.1 MB was worth splitting it in two? C'est juste l' installateur . Une fois déballé, c'est 43 Mo de plus. Une fois installé, c'est 110 Mo de plus. Vous pouvez oublier les systèmes intégrés ou à profil bas; le coût et l'architecture ne sont pas les seules raisons pour lesquelles Rπ ne prend pas en charge Windows.
Synetech

Réponses:

365

Les nouveautés de .NET Framework 4 Client Profile RTM expliquent bon nombre des différences:

Quand utiliser NET4 Client Profile et quand utiliser NET4 Full Framework?
Profil client NET4:
ciblez toujours le profil client NET4 pour toutes vos applications de bureau client (y compris les formulaires Windows et les applications WPF).

Framework NET4 Full:
ciblez NET4 Full uniquement si les fonctionnalités ou les assemblages dont votre application a besoin ne sont pas inclus dans le profil client. Ceci comprend:

  • Si vous créez des applications serveur. Tels que:
    o les applications ASP.Net
    o les services Web basés sur ASMX côté serveur
  • Si vous utilisez des scénarios clients hérités. Tels que:
    o Utilisez System.Data.OracleClient.dll qui est obsolète dans NET4 et non inclus dans le profil client.
    o Utiliser l'héritage Windows Workflow Foundation 3.0 ou 3.5 (WF3.0, WF3.5)
  • Si vous ciblez des scénarios de développeur et avez besoin d'outils tels que MSBuild ou avez besoin d'accéder à des assemblys de conception tels que System.Design.dll

Cependant, comme indiqué sur MSDN , cela n'est pas pertinent pour> = 4,5:

Depuis le .NET Framework 4.5, le profil client a été interrompu et seul le package redistribuable complet est disponible. Les optimisations fournies par le .NET Framework 4.5, telles qu'une taille de téléchargement plus petite et un déploiement plus rapide, ont éliminé le besoin d'un package de déploiement distinct. Le redistribuable unique rationalise le processus d'installation et simplifie les options de déploiement de votre application.

Cameron MacFarland
la source
12
Cette entrée de blog parle également des différentes tailles de fichiers de framework: hanselman.com/blog/…
M. Dudley
56

Vous devez déployer "Client Profile" au lieu de "Full Framework" à l'intérieur d'une entreprise, principalement dans un seul cas: vous voulez refuser explicitement que certaines fonctionnalités .NET s'exécutent sur les ordinateurs clients. Le seul vrai cas est le refus d' ASP.NET sur les machines clientes de la société, par exemple, pour des raisons de sécurité ou de la politique d'entreprise existante.

L'enregistrement de moins de 8 Mo sur l'ordinateur client ne peut pas être une raison sérieuse de déploiement du "Profil client" dans une entreprise. Le risque de la nécessité du déploiement du «Full Framework» plus tard dans l'entreprise est supérieur aux coûts de 8 Mo par client.

Oleg
la source
Le lien dans la réponse de Cameron spécifie un tas de raisons.
Ade Miller
13
@Ade. Parce que nous parlons tous des mêmes choses. Les différences entre deux packages sont bien connues. Je veux seulement dire clairement que la seule raison sérieuse d'utilisation de "Profil client" est l' exigence de refuser ASP.NET sur les ordinateurs clients. Tous les autres détails techniques ne sont pas vraiment importants.
Oleg
1
Saving of less then 8 MB… Ce n'est que l'installateur; c'est 110 Mo de plus une fois installé.
Synetech
2
110 Mo-8 Mo en cet âge de disques de 1 To, etc. qui s'en soucie?
Liam
1
@Oleg, si votre réponse est vraie, alors pourquoi .NET 4.5 et ultérieur ne prend-il plus en charge le profil client?
Pacerier
48

Une liste d'assemblys est disponible dans Assemblies dans le profil client .NET Framework sur MSDN (la liste est trop longue pour être incluse ici).

Si vous êtes plus intéressé par les fonctionnalités, le profil client .NET Framework sur MSDN répertorie les éléments suivants comme étant inclus:

  • Runtime de langage commun (CLR)
  • ClickOnce
  • Windows Forms
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Cadre d'entité
  • Windows Workflow Foundation
  • Discours
  • Prise en charge XSLT
  • LINQ to SQL
  • Bibliothèques de conception d'exécution pour Entity Framework et WCF Data Services
  • Cadre d'extensibilité gérée (MEF)
  • Types dynamiques
  • Fonctions de programmation parallèle, telles que Task Parallel Library (TPL), Parallel LINQ (PLINQ) et Coordination Data Structures (CDS)
  • Débogage des applications clientes

Et ce qui suit n'est pas inclus:

  • ASP.NET
  • Fonctionnalité avancée de Windows Communication Foundation (WCF)
  • Fournisseur de données .NET Framework pour Oracle
  • MSBuild pour la compilation
Richard Szalay
la source
20

Cameron MacFarland l'a cloué.

Je voudrais ajouter que le profil client .NET 4.0 sera inclus dans Windows Update et les futures versions de Windows. Attendez-vous à ce que la plupart des ordinateurs aient le profil client, pas le profil complet. Ne sous-estimez pas ce fait si vous effectuez des ventes interentreprises (B2C).

Simon P.
la source