Смешивание C # и VB в том же проекте

использовать это для целевого пути для загрузки

<?php
$file_name = $_FILES["csvFile"]["name"];
$target_path = $dir = plugin_dir_path( __FILE__ )."\\upload\\". $file_name;
echo $target_path;
move_uploaded_file($_FILES["csvFile"]["tmp_name"],$target_path. $file_name);
?>
138
задан gunr2171 9 June 2014 в 20:30
поделиться

8 ответов

Нет, вы не можете. Сборка / проект (каждый проект обычно компилируется в 1 сборку) должен быть на одном языке. Однако вы можете использовать несколько сборок, и каждая из них может быть написана на другом языке, потому что все они скомпилированы в MSIL.

Он компилировался нормально и не жаловался, потому что проект VB.NET фактически компилирует только файлы .vb а проект C # фактически скомпилирует только. cs файлы. Он игнорировал другие, поэтому вы не получали ошибок.

Изменить: Если вы добавляете файл .vb в проект C #, выберите файл в панели «Обозреватель решений», а затем посмотрите на панель «Свойства», вы заметите, что действие сборки - это «Content», а не «Compile». Он рассматривается как простой текстовый файл и даже не встраивается в скомпилированную сборку в качестве двоичного ресурса.

Изменить: С веб-сайтами asp.net вы можете добавить веб-элемент управления C # на веб-сайт vb.net

123
ответ дан 23 November 2019 в 23:21
поделиться

Как говорили другие, вы не можете поместить оба в один проект. Однако, если у вас есть небольшой фрагмент кода C # или VB, который вы хотите включить в проект на другом языке, существуют инструменты автоматического преобразования . Они не идеальны, но с большинством вещей справляются неплохо. Кроме того, SharpDevelop имеет встроенную утилиту преобразования.

0
ответ дан 23 November 2019 в 23:21
поделиться

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

Кроме того, если вы только что закончили преобразование VB в C #, зачем вам писать новый код в VB?

1
ответ дан 23 November 2019 в 23:21
поделиться

Для каждого языка нужен один проект. Я совершенно уверен, что видел инструмент, который объединял сборки, если вы найдете этот инструмент, вам будет хорошо. Если вам нужно использовать оба языка в одном классе, вы должны иметь возможность написать половину, скажем, на VB.net, а затем написать остальную часть на C #, унаследовав класс VB.net.

1
ответ дан 23 November 2019 в 23:21
поделиться

Хотя Visual Studio не поддерживает это (вы можете сделать некоторые трюки и заставить MSBuild скомпилировать оба, но не из Visual Studio), SharpDevelop поддерживает. У вас может быть и то, и другое в одном решении (если вы используете Visual Studio Professional и выше), поэтому самое простое решение, если вы хотите продолжать использовать Visual Studio, - это разделить код VB в другой проект и получить к нему доступ таким образом.

2
ответ дан 23 November 2019 в 23:21
поделиться

Я не понимаю, как можно скомпилировать проект с помощью компилятора C # (или компилятора VB), чтобы он не остановился на неправильном языке для компилятора.

Сохраните свой C # код в отдельном проекте от вашего проекта VB. Вы можете включить эти проекты в одно решение.

1
ответ дан 23 November 2019 в 23:21
поделиться

Это может быть возможно с помощью специальной разработки MSBuild. Поставляемые .targets вынуждают проекты быть на одном языке, но нет ограничений во время выполнения или инструментов, препятствующих этому.

Компиляторы VB и CS могут выводить данные в модулей - версию файлов .obj для среды CLR. Используя компоновщик сборок, вы можете взять модули из кода VB и CS и создать единую сборку.

Не то чтобы это было бы тривиальным усилием, но это, вероятно, сработает.

13
ответ дан 23 November 2019 в 23:21
поделиться

Вы не можете смешивать vb и c # в одном проекте - если вы заметили в Visual Studio файлы проекта либо .vbproj, либо .csproj. Вы можете в рамках решения - иметь 1 проект в vb и 1 в C #.

Похоже, что в соответствии с этим вы потенциально можете использовать их оба в веб-проекте в каталоге App_Code:

http://pietschsoft.com/ post / 2006/03/30 / ASPNET-20-Use-VBNET-and-C-inside-the-App_Code-folder.aspx

20
ответ дан 23 November 2019 в 23:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: