Dúvida : Gerando .EXE , C#

Olá pessoal;

Eu sou Lucas , aprendi Java e outras linguagens a outro tempo, mas agora estou aprendendo C#.

OK, vamos ao assunto:

Hoje eu queria passar o arquivo .EXE gerado pelo Visual C# para o meu Pen-Drive ;
OK, eu coloquei e executei no MEU COMPUTADOR, e ele rodou normalmente, mas depois eu coloquei no computador de um amigo e ele não roda.
Depois para tentar resolver o problema eu fui até a pasta Debug e me deparei que existem .DLL’s e outros arquivos…

Gostaria de saber como transformar em apenas um arquivo, que rode em qualquer PC.

Me desculpem se eu fiz qualquer ignorância e me desculpem pelo tamanho do tópico, mas foi a única maneira que encontrei para me expressar.

Obrigado;
Lucas

Você deve distribuir sua aplicação junto com o instalador do .NET.

Assim como o Java cria o .jar que depende de outros .jar, o .NET cria um .exe que normalmente depende de outras .DLL (e também pode depender da versão correta do .NET Framework).

Por exemplo, digamos que você tenha escrito um programa no Visual Studio 2010 (que normalmente produz programas que devem rodar no .NET Framework 4.0), e precisa rodar esse programa em um Windows XP que não tem o .NET Framework 4.0 instalado.

Você precisa também instalar o .NET Framework 4.0. E ele é bem grandinho, o instalador dele tem 48 MB. ( http://www.microsoft.com/pt-br/download/details.aspx?id=17718 )

É por isso que o pessoal lhe indicou criar um instalador. Há um monte de coisas que devem ser instaladas para que um programa .NET funcione em um computador “pelado”.

A propósito, quando você for rodar a sua aplicação em um outro computador, mude o modo de compilação de “Debug” para “Release”; isso faz com que o .EXE dependa de bem menos coisas (por exemplo, no modo Debug um programa .NET depende de um runtime que normalmente só está licenciado para rodar em um computador que também tenha a mesma versão do Visual Studio. No modo Release ele não depende desse runtime. )