Artigo: 304655 - Última revisão: quarta-feira, 30 de Julho de 2008 - Revisão: 3.1 Como programaticamente compilar o código do compilador C#
Para obter uma Visual Basic .NET versão deste artigo, consulte 304654
(http://support.microsoft.com/kb/304654/
)
. Nesta páginaSumárioO .NET Framework expõe classes que permitem aceder programaticamente o compilador de idioma do C#. Isto pode ser útil se pretender escrever os seus próprios utilitários de compilação de código. Este artigo fornece código de exemplo permite-lhe compilar código a partir de uma origem de texto. A aplicação permite-lhe o basta criar o ficheiro executável ou criar o ficheiro executável e executá-la. Quaisquer erros que ocorram durante o processo de compilação são apresentados no formulário. Mais InformaçãoPasso 1: requisitos
Passo 2: Como através de programação compilar códigoO .NET Framework fornece a interface de execução do compilador ICodeCompiler. A classe CSharpCodeProvider implementa esta interface e fornece acesso a instâncias do gerador de código do C# e do compilador de código. O código de exemplo seguinte cria uma instância de CSharpCodeProvider e utiliza-o para obter uma referência a uma interface ICodeCompiler.Quando tiver uma referência a uma interface ICodeCompiler, é possível utilizar para compilar o código de origem. Vai passar parâmetros para o compilador utilizando a classe CompilerParameters . Eis um exemplo: O código acima utiliza o objecto CompilerParameters para indicar o compilador de que pretende gerar um ficheiro executável (por oposição a uma DLL) e que pretende exportar a assemblagem resultante para o disco. A chamada para CompileAssemblyFromSource é onde a assemblagem é compilada. Este método utiliza o objecto de parâmetros e o código de origem, que é uma cadeia. Depois de compilar o código, pode verificar para ver se ocorreram quaisquer erros de compilação. Utilize o valor devolvido de CompileAssemblyFromSource , que é um objecto CompilerResults. Este objecto contém uma colecção de erros, que contém quaisquer erros que ocorreram durante a compilação. Existem outras opções para compilar, tais como compilar a partir de um ficheiro. Também pode batch compilação, o que significa que pode compilar vários ficheiros ou origens ao mesmo tempo. É possível encontrar informações adicionais sobre estas classes na MSDN Online Library: http://msdn.microsoft.com/en-us/default.aspx
(http://msdn.microsoft.com/en-us/default.aspx)
Passo 3: Exemplo de procedimento passo a passo
ReferênciasClasse CSharpCodeProvider http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx (http://msdn.microsoft.com/en-us/library/microsoft.csharp.csharpcodeprovider.aspx) Interface ICodeCompiler http://msdn.microsoft.com/en-us/library/system.codedom.compiler.icodecompiler.aspx (http://msdn.microsoft.com/en-us/library/system.codedom.compiler.icodecompiler.aspx) A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 304655
(http://support.microsoft.com/kb/304655/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo