Как скомпилировать и запустить один файл класса CS файл? - PullRequest
26 голосов
/ 03 января 2012

Извините, если это тривиально, я новичок в Visual Studio, у меня есть один проект, в котором содержится несколько файлов классов (.cs), как мне запустить каждый из них по отдельности. Всякий раз, когда я иду к отладке, он выбирает только один файл .cs. Спасибо.

Редактировать: Исходя из java-фона, используя netbeans, можно иметь пакет с несколькими файлами .java в пакете, при условии, что у каждого из файлов .java есть основной метод, который можно по отдельности компилировать и запускать. Есть ли что-то подобное в Visual Studio?

Ответы [ 7 ]

11 голосов
/ 03 января 2012

Если вы хотите выбрать, какой метод Main будет запускаться, вы можете выбрать его в Project -> Properties в Startup Object.Существуют различные требования, которым необходимо соответствовать (например, статичность), и вы можете выбрать только одно за раз.

Если вы хотите вызывать метод main для нескольких статических классов, вам нужно создатьосновной, который вызывает другие.Вы можете усложнить ситуацию и использовать рефлексию для поиска классов в своем проекте, но это гораздо больше, чем просто вызывать их статически.

9 голосов
/ 03 января 2012

Обычно вы не можете создать один CS-файл, если не добавили его в отдельный проект.Visual Studio автоматически создает все CS-файлы в проекте.

Если вы хотите создать только один файл, вы можете изменить это в настройках файла:

Выберите файлы, которые вам не нужнычтобы построить, посмотрите на окно свойств (F4).

enter image description here

Установите для действия сборки значение Нет, чтобы отключить сборку этого файла.

8 голосов
/ 19 декабря 2017

Поскольку ОП пришла из Java-фона, я думаю, что стоит ответить на этот вопрос немного по-другому.

Я понимаю, что в ОП есть несколько разных классов C # с соответствующими им static Main() методами (каждый из этих классов, вероятно, является различным способом загрузки кода приложения) и хочет легко переключаться между ними при запуске приложения в Visual Studio.Итак, короткий ответ: нет простого способа: (

Во-первых, вы не можете запустить проект с помощью метода static Main(), если его тип вывода - «Библиотека классов». Вам необходимо изменить его.либо «Консольное приложение», либо «Приложение Windows», чтобы иметь возможность его запуска. Это полностью отличается от мира Java, где вы можете просто щелкнуть правой кнопкой мыши по любому классу с помощью метода static main(), а затем нажать «Запуск от имени».. "," Java-приложение ". В Java нет такой концепции библиотечного проекта / модуля, поэтому не имеет значения, является ли проект, содержащий этот класс с static main()," библиотекой "или нет.

Во-вторых, я нашел самый простой способ (очень похожий на ответ Рэя):

  1. Щелкните правой кнопкой мыши проект, затем «Свойства»
  2. В «Приложении»убедитесь, что ваш тип вывода не «Библиотека классов»
  3. Измените «Начальный объект» на класс, для которого static Main() - это тот, который вы хотите запустить
  4. Щелкните правой кнопкой мыши по своему проекту,«Отладка», «Запуск нового экземпляра»

UnfortuВ последнее время я не вижу способа сохранить в VS разные конфигурации запуска для одного и того же проекта с использованием разных классов, чтобы вы могли легко переключаться между ними.AFAICS единственный способ достичь этого - создать новые проекты внутри решения и настроить их для запуска различных основных классов.

2 голосов
/ 22 июля 2013

Вы можете добавить метод static main(string[] args) к классу, который вы хотите запустить или создать, и объект того же класса в program.cs и вызвать нужные методы в main() из program.cs

0 голосов
/ 10 марта 2019

Изменение static на private в файлах, которые я хочу исключить, работает для меня, я оставляю только 1 файл со статическим, а Visual Studio запускает только один

0 голосов
/ 03 января 2012

Сначала будет запущен только тот класс, который содержит метод "static Main". Добавьте метод Main () в класс, который вы хотите выполнить первым.

Верни меня, если тебе понадобится дополнительная помощь. Надеюсь, это поможет.

0 голосов
/ 03 января 2012

Program.cs содержит то, что нужно запускать при запуске проекта.

Application.Run(new Form1());

Вы можете использовать это для выбора любого класса для запуска.класс с точкой входа запускается.

static void Main(string[] args)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...