Проекты на нескольких языках в Visual Studio

#c# #vb.net #visual-studio

#c# #vb.net #visual-studio

Вопрос:

Недавно я узнал о прелестях компиляции проектов в библиотеки DLL, чтобы использовать их в других проектах! Однако сейчас я пытаюсь упростить процесс, в котором у меня есть два проекта, один написанный на C #, а другой на VB, где проект C # зависит от библиотеки dll, скомпилированной из процесса VB.

Чего я надеюсь, я смогу достичь: — Сделать оба этих проекта доступными для просмотра в рамках одного проекта VS

  • Извлеките обновления для кода VB из SVN и скомпилируйте их в dll, расположенную в папке внутри проекта

  • Не нужно обновлять мои ссылки в проекте C #, поскольку я обновляю ту же самую DLL в проекте.

  • При необходимости создавайте проект C #, не перестраивая проект VB

Можно ли это сделать?

Спасибо!

Ответ №1:

Является ли это VB.NET проект? Если это так, вам повезло.

1) У вас не может быть проекта Visual Studio, который использует несколько языков (если вы не учитываете ASM в C / C ). Однако в одном решении Visual Studio может быть несколько проектов, где каждый проект использует другой язык.

2) Если проекты на C # и VB.NET (или F #, или управляемый C , или любой другой язык, на котором создается сборка .NET), выходные сборки одного из них мало чем отличаются от других. Проект C # может ссылаться на сборку, созданную с VB.NET и наоборот.

3) Если проекты находятся в одном и том же решении Visual Studio, вы можете использовать ссылки на проекты вместо ссылок на сборки. Ссылки на проекты делают так, что один проект зависит от выходных данных другого проекта в том же решении. Вы устанавливаете ссылку на проект один раз (в VS2015: щелкните правой кнопкой мыши Проект => Добавить => Ссылка … => Проекты => выберите проект для ссылки). И тогда Visual Studio / msbuild автоматически узнает правильный порядок их сборки (и стоит ли их вообще собирать). Это даже достаточно разумно, чтобы, если вы измените местоположение вывода проекта, на который ссылается ссылка, вам не нужно ничего делать со ссылочным проектом.

Комментарии:

1. Да, это VB.NET проект итак, это было именно то, что я искал! Огромное спасибо!