Por que só é um método principal parâmetro de menos considerado como um “objeto de inicialização válido” para um projeto C #?
-
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.
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