2014-04-24 3 views
0

J'ai récemment découvert que (simplement) l'installation de Visual Studio 2012 sur ma machine, fait que Visual Studio 2010 utilise le compilateur C# plus récent. Cela se produit même lorsque vous définissez la version de langue sur 4 (http://ericlippert.com/2013/04/04/what-does-the-langversion-switch-do/).Force Visual Studio 2012 à utiliser l'ancien compilateur C#

Je voulais savoir s'il était possible de forcer Visual Studio à utiliser l'ancien compilateur quand même. Je pense que ce n'est pas possible car il semble que le compilateur soit installé dans le dossier framework qui est le même pour .NET 4 et .NET 4.5, mais je me demandais si quelqu'un avait réussi à le faire de toute façon.

+5

Puis-je vous demander pourquoi vous voulez cela? – ChrFin

+2

Vous n'avez plus le "vieux" compilateur, il a été remplacé lorsque le programme d'installation VS2012 a installé .NET 4.5 sur votre machine. L'installation complète de .NET 4.0 est partie, elle aussi remplacée. Donc non, pas une option. –

+0

@chrfin Je le veux parce que j'ai un environnement de construction incohérent et que les exécutables se comportent différemment selon l'endroit où ils ont été compilés. Certains de mes produits ont besoin de .NET 4.5 et C# 5 et d'autres non. Je veux contrôler le compilateur pour chaque produit. – Dina

Répondre

0

Comme je l'ai dit dans ma première question et que certains ont indiqué, il semble en effet que ce serait impossible. Le nouveau compilateur est installé au même endroit que l'ancien compilateur. Il faudrait avoir un environnement de construction propre avec le compilateur exact nécessaire.

0

Vous pouvez utiliser la ligne de commande compilateur voir here et exécuter votre code sur l'ancien compilateur en post construire des actions

+1

Mais le compilateur est installé dans le dossier framework et si mon ordinateur a .NET 4.5 ou 4.5.1 alors il aura une nouvelle version du compilateur. Est-il possible d'installer 4.5 et 4.5.1 à la place de la version 4.0? – Dina