Por que só é um método principal parâmetro de menos considerado como um “objeto de inicialização válido” para um projeto C #?

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu baixei um zip de arquivos de origem contendo um projeto C # com múltiplos pontos de entrada / métodos principal. Desde que eu queria mexer em volta, eu criei um outro como este em um novo tipo / classe

class MyExperiments
   {
      static void Main(String[] args)
      {
         // do something
      }
   }

então eu mudei para propriedades do projeto. Basta mudar o objeto de inicialização para MyExperiments eh? Para minha surpresa, a lista suspensa não tê-lo. I reconstruída, fez o público método, tentou um monte de coisas .. mas sem sucesso. Finalmente eu editei o .csproj manualmente no bloco de notas e, em seguida, ele trabalhou. Mais ajustes ao redor, eu removidos os parâmetros para torná-lo

static void Main()

e agora propriedades VS projeto poderia 'ver' o objecto de arranque. Então agora eu poderia selecioná-lo usando o menu suspenso. Eu adicionei então a volta String [] e tudo ainda funcionava.

Parece um pouco estranho para mim (porque a forma mais comum é um método principal com parâmetros para argumentos de linha de comando do C / C ++ vezes). MSDN diz o menu suspenso irá conter inicialização válida objetos se eles existirem em seu projeto.

Foi útil?

Solução

Boa coisa que você copiar colado-lo, é a capital 'S' no Main(String[] args). Aparentemente VS usa alguma correspondência de texto, e é sensível a maiúsculas. Como provavelmente deve ser.

Outras dicas

lol - parece que um bug no IDE:

static void Main(String[] args) {}

não mostra, mas

static void Main(string[] args) {}

faz!

Update: Response to Connect Feedback / bug,

Obrigado pelo feedback! Parece o questão aqui é que a "String" parâmetro no método principal precisa ser uma "string" totalmente minúsculas (e parece ter sido apontado em seu pós stackoverflow). Eu vejo uma sugestão aqui para atualizar o projeto página de propriedades a ser um pouco mais inteligente em pegar o objeto de inicialização, mas dado que há uma razoável solução alternativa, vamos investir o nosso recursos em estabilizar e melhorar desempenho do VS2010. Eu estou indo para ir em frente e resolver o bug como um "Wont Fix", mas sinta-se à livre re-ativar o bug se você tem qualquer dúvidas / comentários.

Obrigado, DJ Parque C # IDE, Programa Gerente

Assim parece ser algo que você tem que manter na parte de trás de sua mente por enquanto - Gishu

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top