none
Windows 2012 server, .NET2.0 RRS feed

  • Discussion générale

  • Bonjour,
     
    Mon projet est compilé avec la destination Framework 2.0.
    Configuration et plateforme : non applicable.
    Lors du lancement, il considère que .NET n'est pas installé et veut coller le .NET 3.5 sur 2K12 Server.
    Pas de problème sur Win 8.1 x64.

    Voici les frameworks installés (Windows 2012 Server) :
    C:\Windows\Microsoft.NET\Framework
    v1.0.3705
    v1.1.4322
    v2.0.50727
    v4.0.30319
    C:\Windows\Microsoft.NET\Framework64
    v4.0.30319

    Voici les frameworks installés (Windows 8.1 Pro x64) :4C:\Windows\Microsoft.NET\Framework
    v1.0.3705
    v1.1.4322
    v2.0.50727
    v3.0
    v3.5
    v4.0.30319
    C:\Windows\Microsoft.NET\Framework64
    v2.0.50727
    v3.0
    v3.5
    v4.0.30319


    Donc je pense que c'est parce que le framework .NET 2 n'est pas installé pour la plateforme x64.
    J'ai une application console compilée pour x86 et x64 (qui lit la Registry), j'ai le même popup d'installation de .NET pour les 2.

    Est ce que quelqu'un aurait une idée pour corriger le pb ?

    Merci,

    Vincent
    • Type modifié Aurel Bera vendredi 22 novembre 2013 07:45 Discussion
    lundi 18 novembre 2013 00:10

Toutes les réponses

  • Bonjour,

    Essayez d'installer le .NET Framework 3.5 via la commande suivante :

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All

    Si vous n'avez pas accès à internet, essayez la ligne de commande suivante (il faut mettre le DVD d'installation) :

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\Sources\SxS

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 18 novembre 2013 06:49
    Modérateur
  • D'abord, il faudrait savoir comment votre projet a été compilé.

    Dans Visual Studio, dans les propriétés de votre projet, onglet Build, il y a Platform Target. Je parie que pour votre projet, il y a marqué x64. Il est préférable de choisir la target Any CPU, dans ce cas, c'est le compilateur JIT qui fait le boulot à l'exécution.

    Ensuite, une appli console qui ne fait que lire la registry n'a pas besoin du "Framework" 3.5, le 2 suffit. (le "Framework" - qui n'en est pas un - 3.5 repose sur le VRAI Framework 2.0.50727 (c'est pour ca qu'il y plein de numéro dans son nom, alors que le 3.0 et 3.5, rien du tout car appelation marketing). Le "Fwk 3.5 rajoute WPF, WCF, etc. des add-ons.

    Donc si vous pouvez recompiler votre appli en targetant Any CPU avec le Framework 2.0, ca devrait rouler.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 18 novembre 2013 08:24
  • Bonjour. Merci pour ces réponses. Effectivement, j'étais en x86 j'ai donc modifié tous les projets pour mettre Any CPU. Recompilation, re-test et re-même problème.

    Pour répondre à Gilles, je ne veux pas installer .NET 3.5 et toutes les couches / patches qu'il ajoute et surtout qu'il n'est pas compatible Windows 2000
    lundi 18 novembre 2013 10:32
  • Et le platform target en .NET 2.0 seulement ?C'est quoi exactement le message de la boite de dialogue qui apparaît ?


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    lundi 18 novembre 2013 10:36
  • Bonjour,

    L'installation du .NET Framework 3.5 installera le .NET Framework 2.0. Cela est requis pour faire fonctionner votre application avec le .NET Framework 2.0. Sauf si vous souhaitez exécuter l'application 2.0 avec le .NET Framework 4.0.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 18 novembre 2013 14:03
    Modérateur
  • Bonjour,

    Quelle est votre version de Visual Studio ?


    Apprenez à développer en C#

    fred

    lundi 18 novembre 2013 15:45
  • Bonjour,

    Merci pour tenir la communauté informée sur la suite de vos démarches.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 20 novembre 2013 13:56
  • - @ Gilles : oui il installe .NET2 mais aussi tout un tas d'autres choses que je voudrais éviter. Je tiens à ce que cela fonctionne avec une installation normale de .NET 20.

    - voici les informations de version :

    Microsoft Visual Studio Professional 2013
    Version 12.0.21005.1 REL
    Microsoft .NET Framework
    Version 4.5.51641

    Version installée : Professional

    LightSwitch pour Visual Studio 2013   06177-004-0444002-02287
    Microsoft LightSwitch pour Visual Studio 2013

    Outils de développement Microsoft Office pour Visual Studio 2013 FRA   06177-004-0444002-02287
    Outils de développement Microsoft Office pour Visual Studio 2013 FRA

    Team Explorer pour Visual Studio 2013   06177-004-0444002-02287
    Microsoft Team Explorer pour Visual Studio 2013

    Vérificateur orthographique d'analyse du code Visual Studio 2013   06177-004-0444002-02287
    Vérificateur orthographique d'analyse du code Microsoft® Visual Studio® 2013

    Parties du système de vérification orthographique International CorrectSpell™ © 1993 de Lernout & Hauspie Speech Products N.V. Tous droits réservés.

    The American Heritage® Dictionary of the English Language, troisième édition Copyright © 1992 Houghton Mifflin Company. Version électronique sous licence Lernout & Hauspie Speech Products N.V. Tous droits réservés.

    Visual Basic 2013   06177-004-0444002-02287
    Microsoft Visual Basic 2013

    Visual C++ 2013   06177-004-0444002-02287
    Microsoft Visual C++ 2013

    Visual C# 2013   06177-004-0444002-02287
    Microsoft Visual C# 2013

    Visual F# 2013   06177-004-0444002-02287
    Microsoft Visual F# 2013

    Windows Phone SDK 8.0 - FRA   06177-004-0444002-02287
    Windows Phone SDK 8.0 - FRA

    ASP.NET Web Frameworks and Tools 2012.2   4.1.21001.0
    For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563

    ASP.NET Web Frameworks and Tools 2013   5.0.11001.0
    For additional information, visit http://www.asp.net/

    Gestionnaire de package NuGet   2.7.40911.287
    Gestionnaire de packages NuGet dans Visual Studio. Pour plus d’informations sur NuGet, consultez http://docs.nuget.org/.

    Microsoft Advertising SDK for Windows Phone   
    Microsoft Advertising SDK for Windows Phone
    Build

    Microsoft Web Developer Tools 2013   2.0.40926.0
    Microsoft Web Developer Tools contient les composants suivants :
    Prise en charge de la création et de l'ouverture de projets Web ASP.NET
    Browser Link : canal de communication entre Visual Studio et les navigateurs
    Extensions Éditeur pour HTML, CSS et JavaScript
    Inspecteur de page : outil d'inspection des projets Web ASP.NET
    Échafaudage: infrastructure de création et d'exécution de générateurs de code
    Extensions Explorateur de serveurs pour sites Web Windows Azure
    Publication Web : extensions pour la publication de projets Web ASP.NET pour les fournisseurs d'hébergement, les serveurs sur site ou Windows Azure.

    Outils Azure courants   1.0
    Fournit des services courants utilisables par Mobile Services de Windows Azure et Windows Azure Tools.

    Outils Windows Azure Mobile Services   1.0
    Outils Windows Azure Mobile Services

    PreEmptive Analytics Visualizer   1.2
    Extension Microsoft Visual Studio permettant de visualiser des résumés agrégés à partir du produit PreEmptive Analytics.

    SQL Server Data Tools   12.0.30919.1
    Microsoft SQL Server Data Tools

    Workflow Manager Tools 1.0   1.0
    Ce package contient les composants d’intégration Visual Studio nécessaires pour Workflow Manager.

    lundi 25 novembre 2013 17:02
  • Bonjour,

    oui il installe .NET2 mais aussi tout un tas d'autres choses que je voudrais éviter. Je tiens à ce que cela fonctionne avec une installation normale de .NET 20.
    Il installera juste des bibliothèques supplémentaires, mais cela ne changera rien à votre application qui fonctionnent sous le .NET Framework 2.0. Je ne vois pas ce que vous poserait problème...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 25 novembre 2013 22:52
    Modérateur
  • Pour plein de raisons :

    - je veux que ça tourne sous 2K ce qui n'est pas le cas de .NET 3.5

    - parce que 2K12 n'installe pas forcément .NET3.5 et que l'on n'a pas forcément la main pour installer ce que l'on veut sur un serveur de production

    - parce que l'on veut éviter d'installer toujours plus de trucs qui ajoutent des fonctions que l'on n'utilise pas.

    Bref, il faut que ça tourne avec .NET2 installé comme un .NET2.

    mardi 26 novembre 2013 09:40
  • Bonjour

    .NET Framework c'est dans la période d'extension de support.
    Voir ici plus détails :

    http://support.microsoft.com/lifecycle/search/?sort=pn&alpha=.net+framework

    http://support.microsoft.com/gp/lifepolicy

    Vous parlez aussi d'un serveur 2000 qui est déjà hors support. 

    En plus si vous installez le .Net 3.0 sur le serveur 2012 (installe aussi 2.0) et installez .Net 2.0 sur le serveur 2000 pas de problème. 

    Je comprends bien que vous ne voulez pas installer les autres versions mais je soupçonne que ne pas les installer va vous poser plusieurs problèmes que de les installer.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 26 novembre 2013 10:28
  • C'est pas faux.

    D'un autre côté, dans l'état actuel, cela veut dire que lorsque l'application est poussé en installation distante, il faut checker et installer .NET 3.5 en premier lieu ce qui ne me branche pas forcément.

    Et on en revient au problème initial. Si, sur le serveur, la DSI nous refuse l'installation d'application (notre programme est en ligne de commande ne nécessite pas forcément d'installation).

    Donc j'ai vraiment besoin de trouver une solution sans avoir recours à .NET 3.5

    mardi 26 novembre 2013 17:17
  • Bonjour,

    Donc j'ai vraiment besoin de trouver une solution sans avoir recours à .NET 3.5
    Ce n'est pas possible. Sous Windows Server 2012 et Windows 8 (et supérieur), il faut installer le .NET Framework 3.5 depuis les options de Windows qui installera automatiquement le 2.0 + bibliothèques du 3.0 + bibliothèques du 3.5.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 26 novembre 2013 23:03
    Modérateur
  • Alors comment se fait-ce que la version v2.0.50727 soit installée en version 32 bits ?
    jeudi 28 novembre 2013 18:17
  • Bonjour,

    Si vous regardez le répertoire C:\Windows\Microsoft.NET\Framework\v2.0.50727 vous verrez que le répertoire est vide.

    Ce n'est pas parceque un répertoire existe dans Program Files ou Windows qu'une application est réellement installé. Il faut vérifier plutôt dans liste des programmes installés au niveau du panneau de configuration.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    dimanche 1 décembre 2013 22:37
    Modérateur
  • Exact, à parti un folder CONFIG c'est vide (sous 2K12). Par contre sous Win8.1, c'est installé.

    Par contre, j'ai bien .NET4 d'installé sur le serveur (toutes les MaJ Windows sont installées aussi).

    Du coup pourquoi je n'ai pas la compatibilité descendante ?

    mardi 3 décembre 2013 20:03
  • Bonjour,

    Du coup pourquoi je n'ai pas la compatibilité descendante ?
    Parceque on part du principe que les applications qui existait avant fonctionne avec ce qui existait avant ! Nous avons tous détesté Microsoft dans le passé à cause des mises à jour brutale de runtimes, systèmes qui impactes toutes les applications de la machine... Aujourd'hui, Microsoft à fait énormément d'efforts et propose d'installer autant de version de runtime que nécessaire pour garder une compatibilité la plus totale (à 100 % !) avec les anciennes applications...

    Microsoft par du principe que toute application :

    • 2.0, 3.0, 3.5 => requiert le CLR 2.0.
    • 4.0, 4.5 et 4.5.1 => requiert le CLR 4.0

    Cela vient du fait que entre le moteur CLR 2.0 et le moteur CLR 4.0 vous avez des différences au niveau de la gestion des exceptions, de la sécurité sécurité, Garbage Collector, COM, le 64-bit... ce qui peut avoir des effets secondaires sur votre application si vous l'exécutez avec le CLR 4.0.

    Vous avez la possibilité de forcer l'exécution de votre appli 2.0 en 4.0 en ajoutant cela dans le fichier de configuration :

    <?xml version="1.0" encoding="utf-8"?>
    
    <configuration>
       <startup>
          <supportedRuntime version="v2.0.50727"/>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>

    Je vous recommande aussi d'activer toutes les options "legacy" afin d'avoir au maximum les comportements du CLR 2.0 :

    <configuration>
       <runtime>
          <legacyUnhandledExceptionPolicy enabled="1"/>
       </runtime>
    </configuration>

    et

    <startup useLegacyV2RuntimeActivationPolicy="true">
            <supportedRuntime version="v4.0.30319"/>
        </startup>

    Il y a certainement d'autres... Mais après c'est au cas par cas...

    Pensez à tester à fond votre application en particulier dans les environnement 64-bit, si vous utilisez COM et aussi au niveau des exceptions...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mercredi 4 décembre 2013 00:48
    Modérateur