Добавление файла VB в проект C #

1

В настоящее время я пытаюсь добавить файл VB в проект С#, но я могу только добавить файлы С#. Есть ли способ, чтобы я мог добавлять дополнительные языковые шаблоны, как показано ниже?

На следующем рисунке приведен пример того, что я смог сделать в старом проекте, который должен иметь возможность добавлять файлы VB и С# в один проект. Изображение 174551

Обновление. Я обновляю сайт ASP.NET 2.0 до новейшей версии с новой платформой bootstrap. Я не понял, что старый проект использовал в основном VB, пока я не начал перепланировку на С#. Я заметил, что старый проект также использует некоторые С#. Я пытаюсь увидеть, могу ли я иметь эти два языка внутри нового проекта ASP.NET или нет, добавляя файлы VB. Если нет, я просто создам проект VB и конвертирую с ним весь код С#.

  • 5
    Вы не можете добавить файл VB.NET в проект C #, это два разных языка, это все равно что спросить, могу ли я добавить этот файл Java в мой проект C ++. Вы можете ссылаться на скомпилированную DLL VB.NET в проекте C #, но не на некомпилированный источник.
  • 0
    Почему ты хочешь это сделать? Поскольку Visual Studio не поддерживает компиляцию файлов VB и C # в одном и том же проекте, мне было бы интересно узнать об этом.
Показать ещё 3 комментария
Теги:
visual-studio-2013

2 ответа

0
Лучший ответ

Когда вы открываете диалог "Добавить новый файл" внутри проекта, он фильтруется текущим типом проекта, над которым вы работаете. Например, вы не можете добавить файл *.vb в тип проекта С#, не взломав его каким-либо образом.

GUID в файле *.csproj определяет текущий тип проекта. Этот сайт содержит набор известных GUID, он несколько устарел с 2008 года.

Как я уже сказал в комментарии, почему вы смогли смешать в обоих VB и С# код в веб - проекта, является использование CodeFile атрибут, а не CodeBehind атрибут. Последний будет скомпилировать все исходные файлы в проекте в сборку с тем же именем. Это будет файл, который вы размещаете на своем веб-сервере вместе с файлами .aspx.

Пример структуры файла:

bin/MyApp.MyProject.dll
Index.aspx

Вариант CodeFile, который компилирует исходный код на лету, потребует всех файлов в том же каталоге или в каталоге, указанном в атрибуте, для этого примера он будет находиться в одном каталоге. Это также позволит вам изменить код на веб-сервере и не загружать код в среду разработки. (Это НЕ рекомендуется, поскольку вы махаете до свидания с любым контролем версий и другими полезными инструментами.)

Пример структуры файла:

Index.aspx
Index.aspx.cs

Моим советом было бы решить, продолжать ли развиваться в VB или переключиться на С#. Предпочтительным является наличие вашей кодовой базы на одном языке. И если вы решите реорганизовать все решение, почему бы не передать ASP.NET MVC? :-)

  • 0
    Я решил отказаться от попыток сделать многоязычный проект и просто решил работать только на C #. Я принимаю ваш совет и собираюсь использовать ASP.NET MVC. Я довольно новичок в MVC, но это довольно мило! Спасибо за ваш подробный ответ о том, почему это не может произойти.
  • 0
    Это точно так. Вы сделали отличный выбор, и я надеюсь, вам понравится. :-)
-1

На самом деле было, не уверен, что он все еще доступен, чтобы поместить файл VB в проект С#. Вам нужно было бы добавить тип текстового файла, но назовите его расширением.vb. Затем поместите его в папку. Затем в приложении или в веб-конфигурации вам нужно было добавить некоторую конфигурацию, чтобы сообщить runtime, где можно найти файлы vb и использовать компилятор VB для компиляции кода.

Он работал, но был неуклюжим и не рекомендуется. Опять же, не уверен, что он больше доступен.

Лично, если у вас есть код VB, используйте конвертер vb2cs, подобный этому, чтобы начать его преобразовывать. Они не идеальны, но в большинстве случаев это, по крайней мере, хорошее начало.

  • 3
    -1: это на самом деле не отвечает на этот вопрос, тем более что я думаю, что вы думаете о решении ASP.NET.
  • 0
    Как я уже сказал, не рекомендуется, и ОП точно не указывает, какой тип проекта. Я дал альтернативное решение для возможного включения необходимого кода в проект, который должен был преобразовать его.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню