Aujourd'hui, j'ai installé le .NET Framework 4.5 sur ma machine en espérant pouvoir l'utiliser à partir de Visual Studio 2010, car il ne s'agit que d'une mise à jour mineure qui ne devrait pas poser de problèmes pour Visual Studio 2010. Malheureusement, je ne le suis pas, même en supprimant manuellement certains 4.0 et l'ajout des assemblys 4.5 correspondants a permis aux assemblys 4.0 d'origine d'être référencés dans le projet.
Est-il possible de cibler la version 4.5 à partir de Visual Studio 2010 et si oui, comment? J'aimerais vraiment utiliser les rubans ...
visual-studio-2010
visual-studio
.net-4.5
Golvellius
la source
la source
Réponses:
Chaque version de Visual Studio antérieure à Visual Studio 2010 est liée à un framework .NET spécifique. (VS2008 est .NET 3.5, VS2005 est .NET 2.0, VS2003 est .NET1.1) Visual Studio 2010 et les versions ultérieures permettent de cibler les versions antérieures du framework mais ne peuvent pas être utilisés pour les versions futures. Vous devez utiliser Visual Studio 2012 pour utiliser .NET 4.5.
la source
Il y a des scénarios assez limités auxquels je peux penser où cela serait utile, mais supposons que vous ne pouvez pas obtenir de fonds pour acheter VS2012 ou quelque chose à cet effet. Si tel est le cas et que vous avez Windows 7+ et VS 2010, vous pourrez peut-être utiliser le hack suivant que j'ai mis en place et qui semble fonctionner (mais je n'ai pas encore complètement déployé une application en utilisant cette méthode).
Sauvegardez votre fichier de projet !!!
Téléchargez et installez le SDK Windows 8 qui inclut le SDK .NET 4.5.
Ouvrez votre projet dans VS2010.
Créez un fichier texte dans votre projet nommé
Compile_4_5_CSharp.targets
avec le contenu suivant. (Ou téléchargez-le simplement ici - Assurez-vous de supprimer l'extension ".txt" du nom de fichier):Déchargez votre projet (clic droit -> déchargez).
Editez le fichier projet (clic droit -> Editer * .csproj).
Apportez les modifications suivantes au fichier de projet:
une. Remplacer la valeur par défaut
Microsoft.CSharp.targets
par par le fichier cible créé à l'étape 4b. Remplacez la plate-forme par défaut par
.NET 4.5
c. Ajoutez une
AnyCPU
plate-forme pour permettre le ciblage d'autres frameworks comme spécifié dans les propriétés du projet. Cela doit être ajouté juste avant la première<ItemGroup>
balise du fichierEnregistrez vos modifications et fermez le
*.csproj
fichier.Rechargez votre projet (clic droit -> Recharger le projet).
Dans le gestionnaire de configuration (Build -> Configuration Manager) assurez-vous que la plateforme ".NET 4.5" est sélectionnée pour votre projet.
Toujours dans le gestionnaire de configuration, créez une nouvelle plate-forme de solution pour «.NET 4.5» (vous pouvez la baser sur «N'importe quel processeur») et assurez-vous que «.NET 4.5» est sélectionné pour la solution.
Construisez votre projet et recherchez les erreurs.
En supposant que la construction soit terminée, vous pouvez vérifier que vous ciblez bien 4.5 en ajoutant une référence à une classe spécifique 4.5 à votre code source:
Lorsque vous compilez à l'aide de la plate-forme «.NET 4.5», la génération doit réussir. Lorsque vous compilez sous la plate-forme "Any CPU", vous devriez obtenir une erreur de compilation:
la source
<OutputPath>bin\</OutputPath>
au premier PropertyGroup, lorsque l'erreur ci-dessous s'est produite: La propriété OutputPath n'est pas définie pour le projet «nom du projet».Pour info, si vous souhaitez créer un package d'installation dans VS2010, il ne cible malheureusement que .NET 4. Pour contourner ce problème, vous devez ajouter NET 4.5 comme condition de lancement.
Ajoutez ce qui suit dans les conditions de lancement de l'installateur (clic droit, vue, conditions de lancement).
Dans "Search Target Machine", cliquez avec le bouton droit de la souris et sélectionnez "Add Registry Search".
Ajouter une nouvelle «condition de lancement»:
Où:
378389 = .NET Framework 4.5
378675 = .NET Framework 4.5.1 installé avec Windows 8.1
378758 = .NET Framework 4.5.1 installé sur Windows 8, Windows 7 SP1 ou Windows Vista SP2
379893 = .NET Framework 4.5.2
Référence des conditions de lancement: http://msdn.microsoft.com/en-us/library/vstudio/xxyh2e6a(v=vs.100).aspx
la source
J'ai eu du mal avec l'intégration VS2010 / DNFW 4.5 et j'ai finalement obtenu que cela fonctionne. À partir de VS 2008, un cache d'assemblys a été introduit qui est utilisé par Visual Studio appelé les «assemblys référencés». Ce cache de fichiers pour VS 2010 se trouve dans \ Reference Assemblies \ Microsoft \ Framework.NetFramework \ v4.0. Visual Studio charge les assemblys d'infrastructure à partir de cet emplacement au lieu du répertoire d'installation de l'infrastructure. Lorsque Microsoft dit que VS 2010 ne prend pas en charge DNFW 4.5, cela signifie que ce répertoire n'est pas mis à jour lorsque DNFW 4.5 est installé. Une fois que vous avez remplacé les fichiers à cet emplacement par les fichiers DNFW 4.5 mis à jour, vous constaterez que VS 2010 fonctionnera avec plaisir avec DNFW 4.5.
la source
À partir d'une autre recherche. A travaillé pour moi!
«Vous pouvez utiliser Visual Studio 2010 et il le prend en charge, à condition que votre système d'exploitation prenne en charge .NET 4.5.
Faites un clic droit sur votre solution pour ajouter une référence (comme vous le faites). Lorsque la boîte de dialogue s'affiche, sélectionnez Parcourir, puis accédez au dossier suivant:
C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .Net Framework \ 4.5
Vous le trouverez là-bas. "
la source