Почему только основной метод без параметров рассматривается как “допустимый объект запуска” для проекта на C #?
-
06-07-2019 - |
Вопрос
Я скачал zip-файл с исходными файлами, содержащий проект на C # с несколькими точками входа / основными методами.Поскольку я хотел повозиться, я создал еще один подобный в новом типе / классе
class MyExperiments
{
static void Main(String[] args)
{
// do something
}
}
затем я переключился на свойства проекта.Просто переключите объект startup на MyExperiments, а?К моему удивлению, в выпадающем списке этого не было.Я перестроил, сделал метод общедоступным, перепробовал кучу всего..но безрезультатно.Наконец, я отредактировал файл .csproj вручную в блокноте, и тогда это сработало.Еще немного повозившись, я удалил параметры, чтобы сделать это
static void Main()
и теперь VS Project properties может "видеть" объект startup.Так что теперь я мог выбрать его с помощью выпадающего списка.Затем я добавил строку [] обратно, и все по-прежнему работало.
Мне это кажется немного странным (потому что наиболее распространенной формой является метод Main с параметрами для аргументов командной строки времен C / C ++). MSDN говорит, что выпадающий список будет содержать допустимые объекты запуска, если они существуют в вашем проекте.
Решение
Хорошо, что вы скопировали его, это заглавная буква 'S' в Main (String [] args)
. Очевидно, VS использует некоторое сопоставление текста, и оно чувствительно к регистру. Как и должно быть.
Другие советы
lol - это похоже на ошибку в IDE:
static void Main(String[] args) {}
этого не видно, но
static void Main(string[] args) {}
делает!
Обновить: Ответ на отзыв о подключении / ошибку,
Спасибо за отзыв!Похоже, проблема здесь в том, что "Строка" параметр в основном методе должен быть полностью строчной "строкой" (и это кажется, было указано в вашем сообщении stackoverflow).Я вижу здесь предложение обновить проект страница свойств должна быть немного умнее о выборе объекта запуска, но, учитывая, что существует разумный обходной путь, мы собираемся инвестировать наши ресурсы в стабилизацию и улучшение производительности VS2010.Я собираюсь пойти дальше и устранить ошибку как "Обычное исправление", но, пожалуйста, не стесняйтесь повторно активировать ошибку, если у вас возникнут какие-либо дополнительные вопросы / комментарии.
Спасибо, DJ Park C # IDE, Программный Менеджер
Так что, похоже, это то, что тебе пока следует держать на задворках своего сознания - Гишу