2010-01-24 8 views
10

Existe-t-il un moyen pour moi de créer plusieurs projets utilisant différentes langues sous une solution dans VS 2008? Si c'est le cas, comment?Projets VB.Net et C# dans une solution

+0

Alors qu'il aurait été plus facile si l'OP pouvait simplement l'essayer avant de le poser, je ne pense pas que la question mérite un vote de -1. Voting up –

+1

Dans Visual Studio EXPRESS EDITION cela n'est PAS POSSIBLE – Oliver

Répondre

5

Comme le dit Oded, vous venez créez-les. Pour ce faire, cliquez avec le bouton droit de la souris sur le nœud Solution, en sélectionnant Add > New Project, en sélectionnant la langue et le type de projet souhaités et en leur attribuant un nom.

Les seules fois où je sais quand cela ne fonctionne pas sont:

  1. Lorsque votre option Always show solution n'est pas cochée (sous Tools > Options > Projects and Solutions)

  2. Lorsque vous n'avez pas les deux langues installées , par exemple si vous avez installé Visual Basic 2008 Express Edition sans Visual C# 2008 Express Edition ou vice versa, ou si vous avez désélectionné l'une des langues lors de l'installation. Notez que sauf pour l'édition express, chaque édition contient toutes les langues par défaut.

Si vous rencontrez des problèmes, je vérifier aucun des problèmes ci-dessus applique. Vérifiez simplement le paramètre Tools > Options et vérifiez la liste Installed products sous Help > About Microsoft Visual Studio. Si vous devez modifier la liste Installed products, il vous suffit de relancer l'installation de VS.NET (ou la configuration de l'édition Express appropriée).

8

Il suffit de les créer. Une solution peut heureusement contenir des projets de langues différentes. J'ai des projets C# et VB.NET assis dans la même solution sans problème.

Ce que vous ne pouvez pas faire est de mélanger les langues dans le même projet .

+0

Il est possible de mélanger des langues dans le même assemblage .NET (en compilant différents modules avec différents compilateurs). Toutefois, ce scénario n'est pas pris en charge par l'IDE de Visual Studio et est donc inutile à toutes fins pratiques. –

+0

Si je me souviens bien, dans VS2002 lorsque vous faites un clic droit sur la solution, il y avait une option pour ajouter un projet d'une langue différente. Je ne le vois pas en 2008. Je dois être aveugle ou quelque chose. Je ne peux pas trouver cette option maintenant. Où vais-je faire cela? – StackOverflowNewbie

2

Vous aurez également besoin de l'attribut "CLSCompliant" pour ignorer les types/membres qui ne sont pas compatibles cls.

Par exemple, si vous utilisez C# et projet VB, vous devez exclure les méthodes avec la même signature, mais la différence dans le cas (VB n'est pas sensible à la casse)

 [CLSCompliant(false)] 
     public static string GetTypeName() { 
      return "SomeBase"; 
     } 

     [CLSCompliant(false)] 
     public static string getTypeName() { 
      return "somBase"; 
     } 
+0

Observation intéressante sur la différence de sensibilité à la casse entre C# et VB.NET, mais j'espère que toute bibliothèque C# bien conçue n'en aura jamais réellement besoin. Donner deux fonctions du même nom différant seulement par cas me semble une mauvaise pratique, car il devient très facile de confondre les deux en les appelant. Des noms différents ou un paramètre spécifiant explicitement le type de valeur de chaîne à renvoyer rendraient le code beaucoup plus clair et éviteraient complètement le problème de compatibilité VB.NET. –

Questions connexes