В настоящее время я пытаюсь добавить файл VB в проект С#, но я могу только добавить файлы С#. Есть ли способ, чтобы я мог добавлять дополнительные языковые шаблоны, как показано ниже?
На следующем рисунке приведен пример того, что я смог сделать в старом проекте, который должен иметь возможность добавлять файлы VB и С# в один проект.
Обновление. Я обновляю сайт ASP.NET 2.0 до новейшей версии с новой платформой bootstrap. Я не понял, что старый проект использовал в основном VB, пока я не начал перепланировку на С#. Я заметил, что старый проект также использует некоторые С#. Я пытаюсь увидеть, могу ли я иметь эти два языка внутри нового проекта ASP.NET или нет, добавляя файлы VB. Если нет, я просто создам проект VB и конвертирую с ним весь код С#.
Когда вы открываете диалог "Добавить новый файл" внутри проекта, он фильтруется текущим типом проекта, над которым вы работаете. Например, вы не можете добавить файл *.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? :-)
На самом деле было, не уверен, что он все еще доступен, чтобы поместить файл VB в проект С#. Вам нужно было бы добавить тип текстового файла, но назовите его расширением.vb. Затем поместите его в папку. Затем в приложении или в веб-конфигурации вам нужно было добавить некоторую конфигурацию, чтобы сообщить runtime, где можно найти файлы vb и использовать компилятор VB для компиляции кода.
Он работал, но был неуклюжим и не рекомендуется. Опять же, не уверен, что он больше доступен.
Лично, если у вас есть код VB, используйте конвертер vb2cs, подобный этому, чтобы начать его преобразовывать. Они не идеальны, но в большинстве случаев это, по крайней мере, хорошее начало.