2010-01-24 12 views
10

Czy istnieje sposób, aby utworzyć wiele projektów wykorzystujących różne języki w ramach jednego rozwiązania w VS 2008? Jeśli tak to jak?Projekty VB.Net i C# w 1 Rozwiązanie

+0

Chociaż byłoby łatwiej, gdyby OP mógł po prostu spróbować, zanim zada sobie pytanie, nie sądzę, że pytanie zasługuje na -1 głos. Głosowanie w górę –

+1

W Visual Studio EXPRESS EDITION to NIE JEST MOŻLIWE – Oliver

Odpowiedz

5

Jak mówi Oded, po prostu stwórz je. Wykonaj tę czynność, klikając prawym przyciskiem myszy węzeł Solution, wybierając opcję Add > New Project, wybierając żądany język i typ projektu i nadając mu nazwę.

Jedyne czasów znam od kiedy to nie działa to:

  1. Gdy opcja nie jest zaznaczona Always show solution (pod Tools > Options > Projects and Solutions)

  2. Kiedy nie masz zainstalowane oba języki , na przykład, jeśli zainstalowałeś Visual Basic 2008 Express Edition bez Visual C# 2008 Express Edition lub na odwrót, lub jeśli podczas instalacji zrezygnowano z wyboru jednego z języków. Zauważ, że oprócz edycji ekspresowej każda edycja zawiera domyślnie wszystkie języki.

Jeśli masz problemy, sprawdzę, czy żaden z powyższych problemów nie dotyczy. Wystarczy sprawdzić ustawienie Tools > Options i sprawdzić listę Installed products pod numerem Help > About Microsoft Visual Studio. Jeśli chcesz zmienić listę Installed products, uruchom ponownie konfigurację VS.NET (lub odpowiednią instalację Express Edition).

8

Wystarczy je utworzyć. Rozwiązanie może z powodzeniem obsługiwać projekty w różnych językach. Mam projekty C# i VB.NET w tym samym rozwiązaniu bez problemu.

Czego nie możesz zrobić, to mieszać języki w tym samym projekcie .

+0

Możliwe jest mieszanie języków w tym samym zestawie .NET (przez kompilowanie różnych modułów z różnymi kompilatorami). Jednak ten scenariusz nie jest obsługiwany przez Visual Studio IDE, i dlatego jest całkiem bezużyteczny dla wszystkich praktycznych zastosowań. –

+0

Jeśli dobrze pamiętam, w VS2002 po kliknięciu prawym przyciskiem myszy na rozwiązanie dostępna była opcja dodania projektu w innym języku. Nie widzę tego w 2008 roku. Muszę być ślepy czy coś. Nie mogę teraz znaleźć tej opcji. Gdzie mam to zrobić? – StackOverflowNewbie

2

Będziesz także potrzebować atrybutu "CLSC", aby zignorować typy/elementy, które nie są zgodne z CLS.

Na przykład, jeśli używasz C# i projektu VB, trzeba będzie wykluczyć metod z samym podpisem, ale różnicy w przypadku (VB nie jest rozróżniana)

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

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

Interesująca obserwacja na temat różnicy w rozróżnianiu wielkości liter między C# i VB.NET, ale mam nadzieję, że dobrze zaprojektowana biblioteka C# nigdy by tego nie potrzebowała. Wydawanie dwóch funkcji o tej samej nazwie, różniących się tylko przypadkiem, wydaje się dla mnie złym zwyczajem, ponieważ bardzo łatwo jest pomylić te dwie osoby. Różne nazwy lub parametr jawnie określający, który typ wartości ciągu zwracają, czynią kod znacznie jaśniejszym i całkowicie eliminują problem kompatybilności VB.NET. –