Проекты VB.Net и С# в 1 решении

Есть ли способ создать несколько проектов с использованием разных языков под 1 решением в VS 2008? Если да, то как?

Ответ 1

Как говорит Одед, вы просто создаете их. Сделайте это, щелкнув правой кнопкой мыши по Solution node, выбрав Add > New Project, выбрав нужный язык и тип проекта и присвоив ему имя.

Единственное, что я знаю о том, когда это не работает, - это:

  • Если ваш параметр Always show solution не установлен (в разделе Tools > Options > Projects and Solutions)

  • Если у вас не установлены оба языка, например, если вы установили Visual Basic 2008 Express Edition без Visual С# 2008 Express Edition или наоборот, или если вы не выбрали один из языков во время установки. Обратите внимание, что, за исключением экспресс-издания, каждая версия по умолчанию содержит все языки.

Если у вас возникли проблемы, я бы не проверял ни одну из вышеперечисленных проблем. Просто проверьте настройку Tools > Options и проверьте список Installed products в разделе Help > About Microsoft Visual Studio. Если вам нужно изменить список Installed products, просто запустите настройку VS.NET(или соответствующую настройку Express Edition).

Ответ 2

Просто создайте их. Решение может с удовольствием проводить проекты на разных языках. У меня есть проекты С# и VB.NET, которые находятся в одном решении без проблем.

То, что вы не можете сделать, это смешивать языки в одном проекте.

Ответ 3

Вам также потребуется атрибут "CLSCompliant", чтобы игнорировать типы/элементы, которые не соответствуют требованиям cl.

Например, если вы используете С# и проект VB, вам нужно исключить методы с одинаковой сигнатурой, но разница в случае (VB не чувствителен к регистру)

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

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