#c# #visual-studio-code #terminal
#c# #visual-studio-code #терминал
Вопрос:
Вот ошибка:
C:UserssmaduDocumentsCodeHouseProgram.cs (7,21): ошибка CS0017: в программе определено более одной точки входа. Скомпилируйте с помощью /main, чтобы указать тип, содержащий точку входа.
Я довольно новичок в Visual Studio, так что это, вероятно, простое решение. У меня есть два файла, и я хотел бы запустить их оба через терминал.
Как мне сделать это отдельно?
Я обнаружил, что код как есть не будет выполняться, потому что у меня есть два «static void Main». Изменение одного на static void Main2 исправит ошибку, но запустит только один без 2.
Есть ли способ запустить оба файла через терминал или нет? Спасибо!
Комментарии:
1. Вам придется создать две отдельные программы для того, что вы хотите выполнить.
2. Это похоже на проблему XY и не имеет никакого отношения к VSCode. Программы на C # могут иметь только одну точку входа. Зачем вам нужно более одной точки входа и как бы вы решили, когда использовать одну, а когда использовать другую??
3. вы можете использовать только 1 основной метод в качестве точки входа и запускать различные действия внутри
4. Его невозможно запустить в VS Code. Потому что он найдет во всех файлах «static void main» и запустится. В VS Studio вы можете щелкнуть по свойствам файла и установить «не создавать».
5. В сообщении, которое вы получаете, точно указано, что вам нужно сделать: «Скомпилируйте с помощью /main, чтобы указать тип, содержащий точку входа».
Ответ №1:
У вас может быть несколько файлов, Main()
но, как отмечалось выше, вы можете создавать и запускать только 1 за раз.
В вашем .csproj
файле проекта file
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<!-- set your startup object -->
<StartupObject>CodeHouse.Test</StartupObject>
</PropertyGroup>
Вышеописанное приведет к запуску вашей Test
консоли. Чтобы соответствующим образом создать / запустить ваши Program
изменения <StartupObject>
.
Так что, в конце концов, это действительно всего лишь одно «приложение» (за раз), какой бы вариант использования у вас ни был. Я лично делаю это только для организации нескольких быстрых скриптов / взломов в одном физическом расположении / папке / репозитории.
Hth..
Комментарии:
1. Это сделало это благодаря человеку! Итак, StartupObject — это просто способ указать, какую консоль создавать / запускать?
2. @Odagen Вот официальная документация
3. Спасибо, я проверю это!
4. @Odagen круто — если это решит проблему, пожалуйста, отметьте это как ответ. В противном случае просто спросите. Спасибо!