Почему только основной метод без параметров рассматривается как “допустимый объект запуска” для проекта на C #?

StackOverflow https://stackoverflow.com/questions/1031261

  •  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, Программный Менеджер

Так что, похоже, это то, что тебе пока следует держать на задворках своего сознания - Гишу

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top