Você está na página 1de 397

NDICE

CONTROLE DE CDIGO FONTE PARA O VISUAL STUDIO......................................................................... 6 INTRODUO AO CONTROLE DE ORIGEM ................................................................................................................... 6 O QUE H DE NOVO NO CONTROLE DE ORIGEM PARA O VISUAL STUDIO ................................................................. 13 EXECUO DE TAREFAS DE CONTROLE DE ORIGEM ............................................................................................... 14 COMO: ADICIONAR UM PROJETO AO CONTROLE DE ORIGEM .................................................................................. 14 COMO: ACOPLAR OU DESACOPLAR UMA SOLUO OU PROJETO ............................................................................ 15 COMO: ALTERAR O LOCAL DA PASTA DE TRABALHO ............................................................................................. 16 COMO CONECTAR OU DESCONECTAR UMA SOLUO OU UM PROJETO ..................................................................... 16 COMO: COPIAR UM ITEM SOB CONTROLE DE ORIGEM ............................................................................................. 17 COMO: EXCLUIR UM ITEM CONTROLADO POR ORIGEM ........................................................................................... 18 COMO ATIVAR RECUPERAO AUTOMTICA........................................................................................................... 19 COMO DESATIVAR A CRIAO DA PASTA <SOLUTIONNAME>.ROOT ........................................................................ 19 COMO: ATIVAR CHECK-INS AUTOMTICOS ........................................................................................................... 19 COMO: DESATIVAR CHECK-OUTS AUTOMTICOS ................................................................................................... 20 COMO: ATIVAR OU DESATIVAR CONTROLE DE ORIGEM.......................................................................................... 20 COMO: EXCLUIR UM ARQUIVO DE CONTROLE DE ORIGEM ...................................................................................... 21 COMO: MOVER UMA RAIZ DE LIGAO DE PROJETO .............................................................................................. 21 COMO: MOVER UM ITEM CONTROLADO POR FONTE ............................................................................................... 22 COMO: ABRIR UM PROJETO OU SOLUO DO CONTROLE DE ORIGEM ..................................................................... 22 COMO: RENOMEAR UM ITEM CONTROLADO POR ORIGEM ...................................................................................... 23 COMO: DEFINIR OPES DE PLUG-IN...................................................................................................................... 24 COMO: TROCAR PLUG-INS DE CONTROLE DE ORIGEM:............................................................................................. 25 COMO: EXIBIR UMA LISTA DE ARQUIVOS COM CHECK-OUT.................................................................................... 25 REFERNCIA A INTERFACE DO USURIO DO CONTROLE DE ORIGEM........................................................................ 25 CAIXA DE DILOGO CHANGE SOURCE CONTROL .................................................................................................... 26 CAIXA DE DILOGO CHECK IN (CONTROLE DE CDIGO FONTE) ............................................................................. 27 CHECK-OUT PARA A CAIXA DE DILOGO EDIT (CONTROLE DE ORIGEM).................................................................. 28 CAIXA DE DILOGO GET (CONTROLE DE ORIGEM)................................................................................................... 29 JANELA DE CHECK-INS PENDENTES ......................................................................................................................... 30 GUIAS DE PLUG-IN PARA CONTROLE DE ORIGEM (CAIXA DE DILOGO OPTIONS)..................................................... 31 CAIXA DE DILOGO SOURCE CONTROL ................................................................................................................... 34 CAIXA DE DILOGO UNDO CHECKOUT (CONTROLE DE CDIGO FONTE)................................................................. 35 CONFIGURAES DO VISUAL STUDIO .......................................................................................................... 36 COMO: ALTERAR CONFIGURAES SELECIONADAS ................................................................................................ 37 TRABALHANDO COM CONFIGURAES.................................................................................................................... 38 COMO: COMPARTILHAR CONFIGURAES ENTRE COMPUTADORES ....................................................................... 38 COMO: ESPECIFICAR CONFIGURAES PARA UMA EQUIPE ...................................................................................... 40 IMPORT AND EXPORT SETTINGS WIZARD................................................................................................................ 40 ESCOLHA CONFIGURAES PARA EXPORTAR, IMPORTAR E EXPORTAR CONFIGURAES ASSISTENTE .................... 41 NOMEIE O ARQUIVO DE CONFIGURAES, IMPORTAR E EXPORTAR CONFIGURAES ASSISTENTE ......................... 41 SALVAR CONFIGURAES ATUAIS, IMPORTAR E ASSISTENTE PARA EXPORTAO CONFIGURAES ....................... 41 ESCOLHA CONFIGURAES PARA IMPORTAR, IMPORTAR E ASSISTENTE CONFIGURAES EXPORTAO ............... 42 ESCOLHA UM COLEO DE CONFIGURAES PARA IMPORTAR, IMPORTAR E ASSISTENTE CONFIGURAES EXPORTAO .......................................................................................................................................................... 42 <TASK> COMPLETE, IMPORT AND EXPORT SETTINGS WIZARD ............................................................................... 43 WALKTHROUGHS VISUAL C# ........................................................................................................................... 44 EXPLICAO PASSO A PASSO: CRIANDO UM XML WEB SERVICES USANDO VISUAL BASIC OU VISUAL C# ........... 44 PASSO-A-PASSO: ACESSANDO UM XML WEB SERVICES UTILIZANDO VISUAL BASIC OU VISUAL C# ..................... 48 UM COMPONENTE COM VISUAL C# WALKTHROUGH: CRIAO .............................................................................. 53 TAREFAS COMUNS USANDO MARCAS INTELIGENTES EM CONTROLES FORMS WINDOWS FAZENDO WALKTHROUGH: ................................................................................................................................................................................ 57 COLEES DOS TIPOS PADRO COM O DESIGNERSERIALIZATIONVISIBILITYATTRIBUTE SERIALIZING WALKTHROUGH:..................................................................................................................................................... 58 WALKTHROUGH: DEPURAO CONTROLES FORMS DO WINDOWS PERSONALIZADOS EM TEMPO DE DESIGN ........... 61 CRIANDO UM CONTROLE DO WINDOWS FORMS QUE TAKES ADVANTAGE DOS RECURSOS DE TEMPO DE DESIGN VISUAL STUDIO WALKTHROUGH:............................................................................................................................ 64 UM CONTROLE COMPOSTO COM VISUAL C# WALKTHROUGH: CRIAO ................................................................. 84 UM COMPONENTE MULTITHREADED SIMPLE COM VISUAL C# WALKTHROUGH: CRIAO ..................................... 92

Visual Studio

WALKTHROUGH: INHERITING A PARTIR DE UM CONTROLE DO WINDOWS FORMS COM VISUAL C# ...................... 100 EXPLICAES PASSO-A-PASSO DO VISUAL STUDIO .............................................................................. 104 WALKTHROUGHS DE APLICATIVOS CLIENTE RICH ................................................................................................ 104 WALKTHROUGH: CRIANDO UM APLICATIVO CLIENTE RICH COM MFC ................................................................. 105 WALKTHROUGHS APPLICATION DE FORMULRIOS DA WEB ........................................................... 114 EXPLICAO PASSO A PASSO: CRIANDO UMA PGINA WEB BSICA NO VISUAL WEB DEVELOPER.......................................................................................................................................................... 115 PASSO-A-PASSO: ACESSO A DADOS BSICO EM PGINAS DA WEB................................................... 124 PASSO-A-PASSO: LIGAO DE DADOS PARA UM OBJETO CORPORATIVO PERSONALIZADO . 134 EXPLICAO PASSO A PASSO: DEPURAO DE PGINAS DA WEB NO VISUAL WEB DEVELOPER.......................................................................................................................................................... 141 PASSO-A-PASSO: CRIANDO E USANDO PGINAS MESTRAS DO ASP.NET NO VISUAL WEB DEVELOPER.......................................................................................................................................................... 148 PASSO-A-PASSO: PERSONALIZANDO UM SITE USANDO TEMAS NO VISUAL STUDIO.................. 159 EXPLICAO PASSO A PASSO: CRIANDO UMA PGINA WEB PARTS NO VISUAL WEB DEVELOPER.......................................................................................................................................................... 165 EXPLICAO PASSO A PASSO: CRIANDO UM SITE WEB COM ASSOCIAO E LOGIN DE USURIO (VISUAL STUDIO) ............................................................................................................................. 175 PASSO-A-PASSO: CRIANDO E USANDO UM SERVIO DA WEB ASP.NET NO VISUAL WEB DEVELOPER.......................................................................................................................................................... 188 CRIANDO E ACESSANDO EXPLICAES PASSO A PASSO DE XML WEB SERVICES ..................... 196 EXPLICAO PASSO A PASSO: CRIANDO UM XML WEB SERVICES USANDO VISUAL BASIC OU VISUAL C#.............................................................................................................................................................. 197 PASSO-A-PASSO: CRIANDO UM XML WEB SERVICE USANDO C++ E O CLR .................................... 202 WALKTHROUGH: CRIANDO UM SERVIO DA WEB XML USANDO ATL SERVER.......................... 207 PASSO-A-PASSO: ACESSANDO UM XML WEB SERVICE USANDO C++ E O CLR............................... 211 PASSO-A-PASSO: ACESSANDO UM XML WEB SERVICE USANDO C++................................................ 215 PASSO-A-PASSO: CRIANDO UM APLICATIVO DISTRIBUDO ................................................................ 220 CONTROLE DE CDIGO FONTE PARA O VISUAL STUDIO..................................................................... 228 INTRODUO AO CONTROLE DE ORIGEM ............................................................................................................... 228 O QUE H DE NOVO NO CONTROLE DE ORIGEM PARA O VISUAL STUDIO ............................................................... 235 EXECUO DE TAREFAS DE CONTROLE DE ORIGEM ............................................................................................. 236 COMO: ADICIONAR UM PROJETO AO CONTROLE DE ORIGEM ................................................................................ 236 COMO: ACOPLAR OU DESACOPLAR UMA SOLUO OU PROJETO .......................................................................... 237 COMO: ALTERAR O LOCAL DA PASTA DE TRABALHO ........................................................................................... 238 COMO CONECTAR OU DESCONECTAR UMA SOLUO OU UM PROJETO ................................................................... 238 COMO: COPIAR UM ITEM SOB CONTROLE DE ORIGEM ........................................................................................... 239 COMO: EXCLUIR UM ITEM CONTROLADO POR ORIGEM ......................................................................................... 240 COMO ATIVAR RECUPERAO AUTOMTICA......................................................................................................... 240 COMO DESATIVAR A CRIAO DA PASTA <SOLUTIONNAME>.ROOT ...................................................................... 241 COMO: ATIVAR CHECK-INS AUTOMTICOS ......................................................................................................... 241 COMO: DESATIVAR CHECK-OUTS AUTOMTICOS ................................................................................................. 242 COMO: ATIVAR OU DESATIVAR CONTROLE DE ORIGEM........................................................................................ 242 COMO: EXCLUIR UM ARQUIVO DE CONTROLE DE ORIGEM .................................................................................... 243 COMO: MOVER UMA RAIZ DE LIGAO DE PROJETO ............................................................................................ 243 COMO: MOVER UM ITEM CONTROLADO POR FONTE ............................................................................................. 244 COMO: ABRIR UM PROJETO OU SOLUO DO CONTROLE DE ORIGEM ................................................................... 244 COMO: RENOMEAR UM ITEM CONTROLADO POR ORIGEM .................................................................................... 245 COMO: DEFINIR OPES DE PLUG-IN.................................................................................................................... 246 COMO: TROCAR PLUG-INS DE CONTROLE DE ORIGEM:........................................................................................... 247 COMO: EXIBIR UMA LISTA DE ARQUIVOS COM CHECK-OUT.................................................................................. 247 REFERNCIA A INTERFACE DO USURIO DO CONTROLE DE ORIGEM...................................................................... 247

Visual Studio

CAIXA DE DILOGO CHANGE SOURCE CONTROL .................................................................................................. 247 CAIXA DE DILOGO CHECK IN (CONTROLE DE CDIGO FONTE) ........................................................................... 249 CHECK-OUT PARA A CAIXA DE DILOGO EDIT (CONTROLE DE ORIGEM)................................................................ 250 CAIXA DE DILOGO GET (CONTROLE DE ORIGEM)................................................................................................. 251 JANELA DE CHECK-INS PENDENTES ....................................................................................................................... 252 GUIAS DE PLUG-IN PARA CONTROLE DE ORIGEM (CAIXA DE DILOGO OPTIONS)................................................... 253 CAIXA DE DILOGO SOURCE CONTROL ................................................................................................................. 256 CAIXA DE DILOGO UNDO CHECKOUT (CONTROLE DE CDIGO FONTE)............................................................... 257 CONFIGURAES DO VISUAL STUDIO ........................................................................................................ 259 COMO: ALTERAR CONFIGURAES SELECIONADAS .............................................................................................. 260 TRABALHANDO COM CONFIGURAES.................................................................................................................. 261 COMO: COMPARTILHAR CONFIGURAES ENTRE COMPUTADORES ..................................................................... 261 COMO: ESPECIFICAR CONFIGURAES PARA UMA EQUIPE .................................................................................... 263 IMPORT AND EXPORT SETTINGS WIZARD.............................................................................................................. 263 ESCOLHA CONFIGURAES PARA EXPORTAR, IMPORTAR E EXPORTAR CONFIGURAES ASSISTENTE .................. 264 NOMEIE O ARQUIVO DE CONFIGURAES, IMPORTAR E EXPORTAR CONFIGURAES ASSISTENTE ....................... 264 SALVAR CONFIGURAES ATUAIS, IMPORTAR E ASSISTENTE PARA EXPORTAO CONFIGURAES ..................... 264 ESCOLHA CONFIGURAES PARA IMPORTAR, IMPORTAR E ASSISTENTE CONFIGURAES EXPORTAO ............. 265 ESCOLHA UM COLEO DE CONFIGURAES PARA IMPORTAR, IMPORTAR E ASSISTENTE CONFIGURAES EXPORTAO ........................................................................................................................................................ 265 <TASK> COMPLETE, IMPORT AND EXPORT SETTINGS WIZARD ............................................................................. 266 GERENCIAR SOLUES, PROJETOS E ARQUIVOS................................................................................... 267 INTRODUO AO SOLUES, PROJETOS, E ITENS ................................................................................................... 267 PROPRIEDADES DE PROJETO (VISUAL STUDIO) ..................................................................................................... 269 GERENCIANDO PROPRIEDADES DE PROJETO COM O DESIGNER DE PROJETO ........................................................... 269 GERENCIANDO PROPRIEDADES DE APLICATIVO ..................................................................................................... 269 COMO: ESPECIFICAR INFORMAES DE ASSEMBLY.............................................................................................. 269 COMO ALTERAR UM NOME DE CONJUNTO: ............................................................................................................ 269 COMO: ALTERAR O NAMESPACE PARA UM APLICATIVO ....................................................................................... 270 COMO: ALTERAR O TIPO DE APLICATIVO ............................................................................................................. 270 COMO: ALTERAR O OBJETO DE INICIALIZAO PARA UM APLICATIVO ................................................................ 271 COMO: ESPECIFICA UM CONE DE APLICATIVO ..................................................................................................... 272 COMO: ATIVAR ESTILOS VISUAIS ........................................................................................................................ 272 COMO: ESPECIFICAR COMPORTAMENTO DE INSTNCIAS PARA UM APLICATIVO .................................................. 273 COMO: ATIVAR AUTENTICAO DE USURIO PERSONALIZADA ........................................................................... 274 COMO: ESPECIFICAR O COMPORTAMENTO DE DESLIGAMENTO PARA UM APLICATIVO ......................................... 274 GERENCIANDO REFERNCIAS ................................................................................................................................ 275 REFERNCIAS DE PROJETO .................................................................................................................................... 275 SOLUCIONANDO PROBLEMAS DE REFERNCIAS QUEBRADAS ................................................................................. 276 COMO: ADICIONAR OU REMOVER REFERNCIAS NO VISUAL STUDIO .................................................................. 278 COMO: ADICIONAR OU REMOVER NAMESPACES IMPORTADOS............................................................................. 280 COMO: REMOVER REFERNCIAS NO USADAS ................................................................................................... 281 COMO: DEFINIR A PROPRIEDADE COPY LOCAL (COPIAR LOCALMENTE) DE UMA REFERNCIA ........................... 282 GERENCIANDO RECURSOS DE APLICATIVO ........................................................................................................... 283 COMO: ADICIONAR OU REMOVER RECURSOS....................................................................................................... 283 COMO: ADICIONAR OU REMOVER RECURSOS DE SEQNCIA DE CARACTERES ..................................................... 285 COMO: EDITAR RECURSOS .................................................................................................................................. 286 COMO: EDITAR RECURSOS QUE SO SEQNCIAS DE CARACTERES ..................................................................... 288 COMO: ASSOCIAR UM EDITOR COM UM TIPO DE RECURSO ................................................................................... 289 RECURSOS VINCULADOS VERSUS RECURSOS INCORPORADOS .............................................................................. 290 COMO: CRIAR RECURSOS INCORPORADOS ........................................................................................................... 291 COMO: IMPORTAR OU EXPORTAR RECURSOS ....................................................................................................... 291 GERENCIANDO DEFINIES DO APLICATIVO.......................................................................................................... 292 CONFIGURAES DE APLICATIVO.......................................................................................................................... 293 COMO: ADICIONAR OU REMOVER CONFIGURAES DE APLICATIVO ................................................................... 295 COMO: ACESSAR EVENTOS DE CONFIGURAO ................................................................................................... 296 GERENCIANDO PROPRIEDADES DE PROJETO C# E J#.............................................................................................. 297 COMO DEFINIR PROPRIEDADES DO PROJETO (C#, J#):............................................................................................ 297 COMO: DEFINIR O CAMINHO DE REFERNCIA (C#, J#)........................................................................................ 298 COMO: DEFINIR AS PROPRIEDADES DE COMPILAO (C#, J#) ............................................................................ 299 COMO: ESPECIFICAR EVENTOS DE COMPILAO ................................................................................................. 300

Visual Studio

COMO: ADICIONAR E REMOVER REFERNCIAS NO VISUAL STUDIO (C#, J#)........................................................ 300 LOCAL E PROJETOS DA WEB .................................................................................................................................. 301 PROPRIEDADES DE ARQUIVO ................................................................................................................................. 302 TIPOS DE ARQUIVOS E EXTENSES DE ARQUIVOS NO VISUAL BASIC, VISUAL C#, E VISUAL J#............................. 304 MODELOS DE PROJETO PADRO NO VISUAL STUDIO ............................................................................................. 310 COMO: RESTAURAO DE MODELOS DE PROJETO PADRO ................................................................................. 311 MODELO CLASS LIBRARY ..................................................................................................................................... 312 MODELO DE APLICATIVO DE CONSOLE .................................................................................................................. 312 MODELO EMPTY PROJECT ..................................................................................................................................... 312 MODELO DE BIBLIOTECA DE CONTROLES DA WEB ................................................................................................ 313 MODELO DE APLICATIVO WINDOWS ..................................................................................................................... 313 MODELO DE CONTROLE DE BIBLIOTECA DO WINDOWS ........................................................................................ 313 MODELO DE SERVIO DO WINDOWS ..................................................................................................................... 313 REFERENCIANDO NAMESPACES E COMPONENTES ................................................................................................. 313 REFERNCIAS DE PROJETO .................................................................................................................................... 314 SOLUCIONANDO PROBLEMAS DE REFERNCIAS QUEBRADAS ................................................................................. 314 CONVENES DE NOMENCLATURA PARA ARQUIVO DE RECURSO .......................................................................... 316 RECURSOS XML ................................................................................................................................................... 317 RECURSOS NO-XML........................................................................................................................................... 317 CONFIGURANDO APLICATIVOS USANDO PROPRIEDADES DINMICAS ..................................................................... 317 INTRODUO A PROPRIEDADES DINMICAS (VISUAL STUDIO).............................................................................. 317 PERSONALIZAR E AUTOMATIZAR O AMBIENTE DE DESENVOLVIMENTO .................................... 323 PERSONALIZAR O AMBIENTE DE DESENVOLVIMENTO ............................................................................................ 323 COMO: PERSONALIZAR AJUDA DINMICA ............................................................................................................. 324 COMO PERSONALIZAR BARRAS DE FERRAMENTAS VISUAL STUDIO (): .................................................................. 327 COMO INICIAR FERRAMENTAS NO VISUAL STUDIO: .............................................................................................. 329 COMO PERSONALIZAR A SEO DE NOTCIAS DA PGINA INICIAR:........................................................................ 331 COMO ALTERAR O ITEM EXIBIDO EM INICIAR BACKUP DO AMBIENTE DE DESENVOLVIMENTO DO:........................ 331 TRABALHANDO COM CONFIGURAES.................................................................................................................. 332 COMO: COMPARTILHAR CONFIGURAES ENTRE COMPUTADORES ..................................................................... 340 COMO: ALTERAR CONFIGURAES SELECIONADAS .............................................................................................. 342 COMO: ESPECIFICAR CONFIGURAES PARA UMA EQUIPE .................................................................................... 342 GERENCIAMENTO DE JANELA ................................................................................................................................ 343 TIPOS JANELA........................................................................................................................................................ 343 COMO: ORGANIZAR E ANCORAR JANELAS ........................................................................................................... 345 HOW TO: WINDOWS IDE DE LISTA E ARQUIVOS ACTIVE..................................................................................... 349 CAIXA DE DILOGO DO WINDOWS VISUAL STUDIO ()........................................................................................... 350 CAIXA DE DILOGO COLUNAS ............................................................................................................................... 351 CAIXA DE DILOGO COLUNAS DE CLASSIFICAO ................................................................................................ 352 COMO: NAVEGAR DENTRO DO AMBIENTE DE DESENVOLVIMENTO INTEGRADO ................................................... 353 AUTOMAO E EXTENSIBILIDADE PARA VISUAL STUDIO...................................................................................... 353 ESTENDENDO O AMBIENTE VISUAL STUDIO .......................................................................................................... 353 O QUE H DE NOVO NO EXTENSIBILIDADE E AUTOMAO DO VISUAL STUDIO 2005............................................. 354 NOVOS MEMBROS DE AUTOMAO PARA VISUAL STUDIO 2005 ........................................................................... 356 PRTICAS RECOMENDADAS PARA SEGURANA NA AUTOMAO .......................................................................... 368 O ESPECTRO DE AUTOMAO VISUAL STUDIO ...................................................................................................... 369 ESCOLHENDO A ABORDAGEM DE AUTOMAO ADEQUADA .................................................................................. 371 FUNCIONAL GRUPOS DE AUTOMAO ................................................................................................................... 372 ACESSANDO O MODELO DE AUTOMAO POR USANDO MACROS ........................................................................... 373 CRIANDO ADD-INS E ASSISTENTES ........................................................................................................................ 374 REFERNCIA CONJUNTOS DE AUTOMAO E O OBJETO DTE2............................................................................... 375 CONTROLAR PROJETOS E SOLUES...................................................................................................................... 376 CRIANDO E CONTROLLING AMBIENTE WINDOWS.................................................................................................. 377 COMO CRIAR E ANEXAR A OUTRA INSTNCIA DO VISUAL STUDIO: ....................................................................... 378 INTRODUO EXTENSIBILIDADE DE PROJETO ..................................................................................................... 383 BEM-VINDO AO ASSISTENTE SUPLEMENTO, ASSISTENTE PARA ADICIONAR-IN VISUAL STUDIO ........................... 386 VISUAL STUDIO COMANDOS E OPES...................................................................................................... 389 JANELA DE COMANDO........................................................................................................................................... 391 JANELA IMMEDIATE .............................................................................................................................................. 393 LOCALIZAR / COMANDO CAIXA ............................................................................................................................. 395 COMANDOS GUIA, PERSONALIZAR CAIXA DE DILOGO VISUAL STUDIO ()............................................................ 396

Visual Studio

Visual Studio

Controle de Cdigo Fonte para o Visual Studio


Sem sair do ambiente de desenvolvimento, voc pode gerenciar seus projetos individuais e de equipe facilmente usando os recursos do controle de cdigo fonte do Microsoft Visual Studio. O controle de cdigo fonte do Visual Studio permite que voc:

Gerencie o acesso ao banco de dados. O controle de cdigo fonte do Visual Studio fornece suporte ao acesso de arquivos compartilhados e individuais. Tambm prov mecanismos para mesclagem de arquivos. Recuperar verses sucessivas de itens sob controle de verso. A maioria dos pacotes do controle de cdigo fonte do Visual Studio armazenam dados que distinguem as diferentes verses de um item sob controle de verso. Manter o histrico detalhado dos itens sob controle de verso. Muitos pacotes fornecem mecanismos para armazenar e recuperar o histrico de um item, por exemplo, data e hora de criao. Trabalhar de modo colaborativo em projetos e solues. Com o compartilhamento de arquivos, possvel que diferentes projetos e solues compartilhem o mesmo item sob controle de verso. Alteraes feitas em um item compartilhado so refletidas em todos os projetos e solues. Automatizar as operaes de controle de cdigo fonte mais comuns. Por exemplo, um pacote do controle de de cdigo fonte do Visual Studio pode definir uma interface de linha de comando que oferea suporte a recursos importantes do controle de cdigo fonte. Voc pode usar essa interface em arquivos em lotes para automatizar as tarefas de controle de cdigo fonte executadas regularmente. Recuperar excluses acidentais. O controle de cdigo fonte do Visual Studio fornece suporte a restaurao da ltima verso do arquivo em que foi realizado o check-in. Economizar espao em disco no pacote do controle de cdigo fonte e no servidor associado.

Introduo ao controle de origem


O Visual Studio oferece suporte ao controle de origem usando a camada Visual Studio Integration Protocol (VSIP) no seu Integrated Development Environment (IDE). VSIP pode hospedar uma variedade de pacotes de controle de origem, geralmente implementados como plug-ins escritos para os protocolos apropriados. Um exemplo de um plug-in de controle de origem o plug-in SourceSafe LAN suportado pelo Visual SourceSafe. Para obter detalhes do plug-in, consulte a ajuda do Visual SourceSafe. Observao O Visual Studio trata pacotes de controle de origem como plug-ins, embora eles possam ser implementados como outros tipos de mdulos de software.

Visual Studio

O controle de origem do Visual Studio simplesmente um ambiente para plug-ins de controle de origem de terceiros. Por isso, sua funcionalidade s ativada pela instalao de um plug-in. Para usar um plug-in de controle da origem de terceiros, voc deve, geralmente, instalar o aplicativo de terceiros e/ou o(s) plug-in(s) de controle de origem nos computadores cliente e servidor para seu site. Depois de instalar como indicado pelas instrues de terceiros, sua funcionalidade estar disponvel atravs do Visual Studio. As operaes que esto ativas so variveis, dependendo do plug-in de controle de origem. Voc deve consultar a documentao de terceiros para detalhes operacionais de pacotes especficos. Consulte "Viso Geral (controle de origem)" na ajuda do Visual Studio para obter detalhes de design de controle de origem no Visual Studio. Esta seo da Ajuda tambm fornece todas as informaes que sero necessrias para desenvolver um pacote de controle de origem de terceiros que seja compatvel com Visual Studio. Noes bsicas de controle de origem suportados pelo Visual Studio O suporte de controle de origem bsico no Visual Studio inclui a configurao de plug-in de controle de origem e opes de ambiente, comutao de plug-in, acesso ao banco de dados, versionamento e manipulao de projetos do Visual Studio, solues e arquivos e metadados associados. O controle de origem no Visual Studio tambm aplica protocolos do controle de acessos ao banco de dados, por exemplo, o estilo de trabalho Lock-Modify-Unlock, no qual um usurio que quer modificar um arquivo deve verific-lo exclusivamente. importante lembrar que voc deve usar controle de origem em mecanismos do Visual Studio para interagir com um plug-in de controle de origem. No use outras aplicaes de cliente apresentadas por terceiros que forneam o plug-in, por exemplo, Visual SourceSafe Explorer. O uso apropriado dos mecanismos de controle de origem no Visual Studio garante que somente arquivos corretos sejam adicionados ao controle de origem e que os arquivos de projeto e soluo do Visual Studio sejam atualizados com os detalhes corretos do plug-in especfico. Configurao de Plug-in de Controle de Origem e Comutao O controle de origem do Visual Studio suporta configurao e comutao de plug-in atravs da entrada Source Control na caixa de dilogo Options. Esta entrada acessvel selecionando-se Options no menu Tools do Visual Studio. Voc usar a caixa de dilogo Options para selecionar o plug-in que voc deseja utilizar para controle de origem, e configurar as opes de ambiente para o plug-in. Antes que voc e sua equipe possam aproveitar as vantagens dos recursos de controle de origem no Visual Studio IDE, voc deve:

Determinar se qualquer plug-in de controle de origem est disponvel. Se o plug-in de controle de origem que voc deseja usar no estiver instalado em seu computador, instale o produto de terceiros que oferea suporte ao plug-in e reinicie o Visual Studio para registr-lo. Criar um banco de dados de controle de origem de acordo com a funcionalidade do determinado plug-in. Envie um link, com o local do banco de dados, para todos os membros da equipe.

Acesso ao Banco de dados Comandos bsicos de acesso ao banco de dados, por exemplo, Check Out e Add to Source Control, esto disponveis no menu File do Visual Studio. No entanto, esses comandos so ativados somente depois que voc tiver escolhido o plug-in de

Visual Studio

controle de origem que deseja usar. Quando voc usa um dos comandos bsicos de acesso ao banco de dados, o plug-in que voc tiver escolhido chama a correspondente funcionalidade de terceiros e/ou o ambiente para concluir a operao associada. Algumas operaes de acesso so ativadas somente com o plug-in selecionado, enquanto outras operaes esto somente disponveis quando voc tambm tiver selecionado um projeto do Visual Studio, soluo, ou arquivo no Solution Explorer do Visual Studio. Por exemplo, voc pode usar um comando Add to Source Control depois de ter escolhido um plug-in. Entretanto, para usar um comando Check In, voc deve ter um item selecionado no Solution Explorer. Manipulao de arquivo pelo controle de origem Voc pode adicionar os seguintes arquivos ao controle de origem do Visual Studio:

Arquivos de soluo (*.SLN). Arquivo de projeto, por exemplo, arquivos *.csproj, *.vbproj. Arquivos de configurao de aplicativos com base em XML, usados para controlar comportamento em tempo de execuo de um projeto do Visual Studio. Arquivos que voc no pode adicionar ao controle de origem incluem o seguinte:

Arquivos de opo de soluo de usurio (*.suo). Arquivos de opo de projeto de usurios, por exemplo, arquivos *.. csproj.user, *. vbproj.user Arquivos de informao da Web, por exemplo, *.csproj.webinfo, *. vbproj.webinfo, que controlam o local da raiz virtual de um projeto da Web Criar arquivos de sada, por exemplo, arquivos *.dll e *.exe.

A propagao da alterao do espao para nome O controle de origem do Visual Studio oferece suporte propagao de alterao do espao para nome em plug-ins controle de origem. Propagao de alterao aplica-se a operaes de excluso, renomeao e mudana de local. Quando voc solicitar uma operao para qual a propagao de alterao estiver ativada, o plugin de controle de origem ir alterar a cpia de trabalho do item controlado por fonte, a cpia principal no banco de dados, e as cpias de outros usurios, quando voc fizer o check-in no item e os outros usurios o recuperarem. Como Controle de Origem Trata Solues e Projetos Quando voc adiciona uma soluo ou projeto ao controle de origem, a primeira coisa que um plug-in de controle de origem deve fazer identificar uma raiz nica para o item que est sendo adicionado. Esta raiz um caminho ao diretrio pai de todas as pastas de trabalho e arquivos que compem a soluo ou projeto. Uma raiz nica geralmente mapeia para um caminho fsico no disco. Contudo, se uma soluo contm arquivos ou projetos que residem em mais de uma unidade de disco, no h nenhuma pasta fsica qual uma raiz nica pode fazer o mapa. Uma soluo pode mapear a unidade de disco, mas a raiz nica de um controle de origem, no. Para apoiar esta situao, o controle de origem do Visual Studio apia o conceito de uma raiz super-unificada. Este tipo da raiz um continer virtual e

Visual Studio

todos os projetos e os arquivos em uma soluo controlada por fonte esto localizados abaixo dele. Quando voc adiciona uma soluo usando um plug-in de controle de origem com recursos avanados, o plug-in cria uma pasta raiz vazia de soluo no banco de dados. Esta pasta conter todos os itens em uma soluo controlada por fonte. Por padro, essa pasta < nomedasolucao >.root. Observao Quando voc adicionar um projeto nico ao controle de origem, a pasta .root no ser criada. O uso de soluo raiz oferece os seguintes benefcios:

Menos prompt. A soluo raiz minimiza o nmero potencial de ligaes de controle de origem para uma soluo e, assim, minimiza o nmero de avisos aos usurios quando voc adiciona uma soluo para controle de origem e executa outras tarefas. Encapsulamento do projeto. A soluo raiz garante que todos os projetos em uma soluo possam ser identificados como pertencentes ao mesmo conjunto, mesmo quando uma ou mais projetos residam em diferentes parties ou computadores.

Voc pode desativar a criao de pasta < nomedasolucao >.root, mas isso no recomendvel. Para mais informaes, consulte COMO: desativar a criao da pasta < nomedasolucao>.root. Solues no Visual Studio so bem-formadas ou no. Uma soluo bem-formada uma soluo para a qual a estrutura hierrquica no disco combina com a sua estrutura no Solution Explorer. Todos os projetos em uma soluo bem-formada so armazenados em subpastas da pasta soluo no disco. Se a soluo bemformada quando voc a adiciona ao controle de origem, o plug-in do controle de origem cria uma pasta abaixo da pasta *.root para conter as cpias principais de arquivo de soluo (*.sln) e arquivos de opo de soluo de usurios (*.suo) para a soluo. Finalmente, o plug-in de controle de origem cria uma pasta sob a pasta .sln para cada projeto adicional no banco de dados do controle de origem. Se uma soluo no bem-formada, o plug-in do controle de origem cria uma pasta para a soluo e para o seu projeto inicial. Em seguida, as pastas para cada projeto adicional so criadas em paralelo com a pasta de soluo. Modos de exibio de uma soluo ou projetos Visual Studio fornece trs modos diferentes de exibio de uma soluo controlada por origem ou projeto: design, controle de origem, e fsico. Muitas tarefas de controle de origem so mais fceis de executar quando no h um mapeamento um-para-um entre os elementos individuais desse modo de visualizao. Contudo, se voc criar as suas solues e projetos e os acrescentar ao controle de origem usando as configuraes padres do Visual Studio, suas solues e projetos no sero, necessariamente, organizados do mesmo modo no disco como eles esto no Solution Explorer e no banco de dados. O modo design de uma soluo ou projeto, que voc v no Solution Explorer, um retrato lgico do contedo de uma soluo ou projeto. Geralmente, o modo design limpo e significativo. Arquivos desnecessrios esto ocultos e arquivos de vrios locais fsicos diferentes so colocados em um continer de projeto nico.

Visual Studio

O modo de controle de origem de uma soluo ou projeto, que voc v em um aplicativo autnomo, como Visual SourceSafe Explorer, tambm um modo de exibio lgico de uma soluo ou projeto. Entretanto, o modo de exibio de controle de origem no , necessariamente, um reflexo do modo de exibio lgico. O modo de exibio fsico de uma soluo ou projeto, que voc v no Windows File Explorer, provavelmente no refletir a estrutura hierrquica da lgica ou viso do controle de origem. As diretrizes a seguir podem ajud-lo a obter fidelidade organizacional entre o modos de exibio de design, fsico e controle de origem de suas solues controladas por fonte e projetos:

Primeiro, crie uma soluo em branco e adicione projetos a ela. Isso o ajuda a manter a relao lgica pai-filho entre uma soluo e seus projetos no armazenamento. Em seguida, quando voc adicionar a soluo ao controle de origem, o modo de exibio de controle de origem e design ir espelhar a hierarquia da soluo no disco. Atribua a cada soluo um nome exclusivo e descritivo que se diferencia do nome de cada um dos projetos contidos. Evite adicionar arquivos de link para uma soluo ou projeto controlado por fonte origem. Se possvel, armazene todos os arquivos de uma soluo ou projeto em uma unidade de disco.

Conexes de controle de origem e ligaes O Visual Studio define uma conexo como uma ligao de dados ativa entre o Visual Studio e um servidor de banco de dados. Quando voc adiciona uma soluo ou projeto ao controle de origem, o plug-in de controle de origem copia o item e todo o seu contedo do disco para o banco de dados. Uma pasta controle de origem criada para cada pasta que contm um arquivo soluo ou projeto. Aps adicionar o item, o plug-in de controle de origem vincula sua cpia de trabalho local de uma soluo ou projeto sua verso no banco de dados. Cada soluo controlada por origem tem, pelo menos, uma ligao de controle de origem. No entanto, um item pode ter vrias ligaes e requerer vrias conexes com o banco de dados. O nmero de vnculos e conexes depende de como voc cria a soluo inicialmente e se seus projetos e arquivos esto todos salvos na mesma partio. Como um exemplo de vnculos e conexes, pense em uma soluo bem formada de controle de origem, com vrios projetos, como uma casa com vrias salas. Quando voc constri a casa, voc pode instalar uma linha de dados nica de alta velocidade de uma sala rua. Voc instala um roteador atrs de um firewall para distribuir a alimentao de dados para outras salas e voc paga um provedor de servios de Internet para conectar sua casa com a Internet. Voc pode pensar em vnculo de controle de origem como representao da linha de dados nica criada para a casa. Quando voc abre uma soluo controlada por fonte, uma conexo criada atravs dessa ligao. A conexo estabelece um 'aperto de mo' entre a sua cpia de trabalho da soluo no disco e a cpia mestra da soluo no banco de dados. Se uma soluo controlada por origem no for bem formada, voc pode v-la como uma casa na qual cada sala unida Internet diretamente. Tarifas de Internet so mais caras do que as da casa de conexo nica, os custos de manuteno so

Visual Studio

10

superiores, e mudar para um provedor de servios de Internet diferente muito mais difcil e demorado. Idealmente, uma soluo e seu projeto compartilham uma ligao de controle de origem nica. Solues Single-Binding so mais gerenciveis do que solues Multiple-Binding. Elas tornam mais fcil:

Desconectar do controle de origem para trabalhar off-line. Conectar-se ao banco de dados aps a reconexo com a rede. Ramificar em uma etapa.

Voc pode criar uma soluo de multiprojeto com uma ligao nica, criando uma soluo em branco antes de adicionar seus projetos. Voc tambm pode fazer isso, selecionando a opo Create Directory for Solution na caixa de dilogo New Project, ao criar um par de soluo de multiprojeto. Se voc criar um par de soluo de multiprojeto em uma etapa e no selecionar a opo Create Directory for Solution na caixa de dilogo New Project (desativado por padro), uma segunda ligao ser criada quando voc adicionar um segundo projeto soluo. Uma ligao criada para o projeto inicial e para a soluo. Ligaes adicionais so criadas para cada projeto adicional. Terminologia de controle de origem A documentao do Visual Studio usa um nmero de termos para descrever recursos e conceitos de controle de origem. A tabela a seguir define alguns dos termos comuns. Verso base A verso do servidor de um arquivo do qual uma verso local derivada. Vinculao Informao que correlaciona uma pasta de trabalho de uma soluo ou projeto no disco pasta no banco de dados. Ramificao Processo de criar uma nova verso, ou ramificao, de um arquivo compartilhado ou projeto sob controle de origem. Uma vez que uma ramificao tenha sido criada, as duas verses sob controle de origem tero um histrico compartilhado at um determinado ponto e histricos divergentes aps esse ponto. Conflito Duas ou mais alteraes diferentes para a mesma linha do cdigo em situaes em que dois ou mais desenvolvedores tenham feito o check-out e editado o mesmo arquivo. Conexo Uma ligao de dados ativa entre um cliente do controle de origem (por exemplo, Visual Studio) e um servidor de banco de dados do controle de origem. Banco de dados Local onde todas as cpias mestre, histrico, estruturas de projeto e informaes do usurio so armazenados. Um projeto sempre est contido em um banco de dados. Vrios projetos podem ser armazenados em um banco de dados, e vrios bancos de dados podem ser usados. Outros termos

Visual Studio

11

normalmente usados para um banco de dados so repositrio e armazenamento. Histrico Registro de alteraes de um arquivo desde que ele tenha sido adicionado, inicialmente, no controle de origem. Com o controle de verso, voc pode retornar a qualquer ponto no histrico do arquivo e recuperar o arquivo como ele existia at esse momento. Rtulo Nome definido pelo usurio anexado a uma verso especfica de um item controlado por fonte. Cpia local Arquivo em uma pasta de trabalho do usurio para a qual so copiadas alteraes antes que seja feito um check-in. Uma cpia local , s vezes, chamada de uma cpia de trabalho. Cpia mestra A verso mais recente do check-in de um arquivo controlado por fonte, em oposio cpia local de um arquivo em sua pasta de trabalho. Outros termos para cpia mestra so verso do servidor e verso do banco de dados. Mesclar Processo de combinar diferenas entre duas ou mais verses modificadas de um arquivo em uma nova verso de arquivo. Mesclar pode afetar diferentes verses do mesmo arquivo ou alteraes feitas a uma mesma verso do arquivo. Arquivo compartilhado Um arquivo com verses que residem em mais de uma localidade de controle de origem. Outros termos para um arquivo compartilhado so cpia e atalho. Raiz soluo Uma pasta vazia em um banco de dados que contm todos os itens de uma soluo controlada por origem. Por padro, essa pasta < nomedasolucao >.root. Raiz Super-unificada Um continer virtual abaixo do qual todos os projetos e os arquivos em uma soluo controlada por origem esto localizados. Por exemplo [SUR]: \. a raiz super-unificada de uma soluo controlada por origem contendo projetos localizados em [SUR]:\C:\Solucao\Proj1 e [SUR]:\D:\Proj2. Raiz unificada Um caminho para a pasta pai de todas as pastas de trabalho e arquivos em uma soluo ou projeto controlado por origem. Por exemplo, C:\Solucao a raiz unificada de uma soluo controlada por origem contendo arquivos localizados em C:\Solucao, C:\Solucao\Proj1 e C:\Solucao\Proj2. Pasta de trabalho Local no qual as cpias locais de itens controlados por origem so armazenados, geralmente no seu prprio computador. Outro termo para uma pasta de trabalho espao de trabalho.

Visual Studio

12

O que h de novo no controle de origem para o Visual Studio


O Visual Studio tem dado suporte a controle de origem e integrao de plug-ins de controle de origem h algum tempo. Entretanto, a verso atual inclui um nmero de aperfeioamentos de integrao. Para informaes sobre novos recursos da parte de controle de origem do SDK do ambiente Visual Studio, consulte "Novidades para controle de origem" Alternncia de plug-in Controle de origem agora permite alternar entre todos os tipos de plug-ins de controle de origem em Options no menu Tools. Esta alternncia permite a substituio completa da interface do usurio e permite um plug-in por soluo. Melhorias no acesso ao projeto via aberturas assncronas Controle de origem do Visual Studio foi aprimorado para abrir solues de forma assncrona e refletir o progresso de uma operao de abertura modificando os cones no Solution Explorer. O recurso de abertura assncrona marca projetos que ainda esto sendo baixados com uma ampulheta, e marca projetos totalmente baixados para acesso assim que eles estiverem disponveis. Isso significa que voc pode abrir e comear a trabalhar em um projeto mesmo que o Visual Studio esteja ainda abrindo os outros projetos na soluo. Observao Este recurso est apenas disponvel para Visual Basic, C#, J# e projetos da Web e no possui suporte de todos os plug-ins de controle de origem. Melhorias na caixa de dilogo do Visual Studio para dar suporte a controle de origem Os seguintes aperfeioamentos de acesso a arquivo foram feitos nas caixas de dilogo do Visual Studio:

Agora voc pode adicionar projetos ao controle de origem e abri-los facilmente usando a nova guia Source Control Stores na caixa de dilogo Open Project. Voc pode adicionar um arquivo existente do controle de origem a um projeto usando a caixa de dilogo Add Existing Item. Voc pode adicionar automaticamente solues e projetos ao controle de origem marcando a caixa de seleo Add to Source Control na caixa de dilogo New Project.

Sincronizao de excluses, renomeaes e movimentaes Para oferecer suporte a propagao de alterao de namespace, a verso mais recente de controle de origem sincroniza excluses, renomeaes, e movimentaes com o banco de dados. Quando voc fizer uma alterao voc ser solicitado a propagar a alterao, enquanto outros usurios podero sincronizar atravs de operaes de recuperao. Em verses anteriores, se voc exclua, renomeava ou movia um item no servidor, ele permanecia na sua pasta de trabalho mesmo aps a sincronizao. Melhorias nas operaes bsicas de controle de origem

Visual Studio

13

Os seguintes aperfeioamentos foram feitos nas operaes bsicas de controle de origem do Visual Studio:

Voc pode agora fazer um check-out de um arquivo de uma pasta de trabalho local sem precisar baixar pela rede a verso mais recente do arquivo no banco de dados. Agora checkouts so automticos e nmero de solicitaes reduzido. Voc tem uma opo para configurar o Visual Studio para automaticamente obter do controle de origem a ltima verso de todos os itens da soluo quando voc abrir uma soluo . Voc pode configurar o Visual Studio para fazer silenciosamente check-out de arquivos em edio e fazer automaticamente check-in das suas alteraes quando voc fechar a soluo.

Suporte ao Visual Web Developer O Visual Web Developer pode agora acessar recursos de controle de origem de projeto na Web, como baixar em qualquer local. Em verses anteriores do Visual Studio, o local estava embutido em cdigo para baixar em c:\inetpub\wwwroot. Consulte tambm

Execuo de Tarefas de Controle de Origem


Esta seo descreve tarefas gerais de controle de origem que voc pode executar no Visual Studio para qualquer plug-in. Operaes bsicas de controle de origem como check in, check out e exibio de histrico so amplamente especficas de plug-in, embora essas operaes possam fazer uso de alguns dos elementos de interface de usurio padro suportados pelo pacote de controle de origem do Visual Studio. Para tarefas de plug-in-especfico, entretanto, voc deve consultar a documentao do plug-in de controle de origem especfico. Observao Muitos desses procedimentos referem-se seleo de comandos bsicos de controle de origem do menu File do Visual Studio. Alternativamente, voc pode acessar muitos dos comandos clicando com o boto direito do mouse em um item controlado por fonte no Solution Explorer.

COMO: Adicionar um projeto ao controle de origem


O controle de origem do Visual Studio permite adicionar um projeto e seu arquivo de soluo ao controle de origem ao mesmo tempo. Se uma soluo j estiver sob controle de origem, voc pode adicionar um novo projeto a ela. Fazendo check-in de uma soluo automaticamente coloca qualquer novos projetos que esta contm sob controle de origem. Para adicionar um projeto e soluo ao controle de origem 1. 2. 3. No Visual Studio, crie um novo projeto. Se voc tiver dvidas sobre como fazer isso, procure a Ajuda do Visual Studio. Selecione a soluo que contm o novo projeto. No menu File, clique em Source Control.

Visual Studio

14

4.

Clique em Add Solution to Source Control e selecione a base de dados de projeto qual quer adicionar a soluo usando os procedimentos do plug-in de controle de origem sendo utilizado.

Para adicionar os projetos selecionados ao controle de origem 1. 2. 3. No Visual Studio, abra uma soluo existente no Solution Explorer. Crie novos projetos conforme necessrio na soluo. Se voc tiver dvidas sobre como fazer isso, h vrios procedimentos na Ajuda do Visual Studio. Faa o check-out do arquivo de soluo, pois o controle de origem precisa incluir os novos detalhes do projeto nesse arquivo. Use o procedimento de check-out especficos para o plug-in de controle de origem em uso. No menu File, clique em Source Control, e em seguida, clique em Add Selected Projects to Source Control Voc ser solicitado a decidir se deseja adicionar os projetos como subpastas da soluo ou como pastas separadas. Na maioria das situaes, voc deve adicionar os projetos pasta da soluo no banco de dados. Faa o check-in da soluo de volta no controle de origem, usando o procedimento de check-in especfico para o plug-in de controle de origem em uso.

4. 5.

6.

COMO: acoplar ou desacoplar uma soluo ou projeto


Voc deve ligar uma soluo ou projeto ao controle de origem de maneira que este item tenha acesso aos comandos bsicos de controle de origem, tais como Check Out, Check In, e Get. Uma ligao associa a cpia local do item cpia mestre no banco de dados. Desacoplar uma soluo ou projeto controlado por origem remove o item do controle de origem, desassociando a cpia local da cpia mestre no banco de dados, e desativando todos os comandos de controle de origem. Talvez voc precise desacoplar um item se:

Voc precisar relig-lo verso de backup do banco de dados quando o servidor primrio for desligado. Voc pode conectar a um servidor de backup, religar a sua cpia da soluo cpia mestre do servidor no banco de dados de backup, e continuar trabalhando normalmente. Para mais informaes, consulte COMO: conectar ou desconectar uma soluo ou projeto. Voc desejar iniciar uma nova ramificao sem nenhum histrico de controle de origem em uma pasta de banco de dados diferente. Voc desejar utilizar um outro plug-in de controle de origem .

Desacoplar um item no o remove permanentemente do banco de dados. Para obter mais informaes de como excluir um item, consulte COMO: excluir um item controlado por origem. Para ligar uma soluo ou projeto ao controle de origem 1. 2. No Visual Studio, abra o Solution Explorer e selecione uma soluo ou projeto a ser ligado. No menu File, clique em Source Control, depois em Change Source Control.

Visual Studio

15

3. 4.

Na caixa de dilogo Change Source Control, clique em Bind. Selecione o banco de dados e local ao qual ligar, e clique em OK.

Para desacoplar uma soluo ou projeto do controle de origem 1. 2. 3. 4. No Visual Studio, abra o Solution Explorer e selecione uma soluo ou projeto a ser desacoplado. No menu File, clique em Source Control, depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Unbind. Clique em OK.

COMO: alterar o local da pasta de trabalho


s vezes o Solution Explorer indica locais de pasta por um sublinhado ondulado. Essas entradas representam caminhos invlidos relativos pasta de trabalho. Para corrigir caminhos invlidos, voc deve alterar o local da pasta de trabalho. Para alterar o local da pasta de trabalho 1. 2. 3. 4. No Visual Studio, abra o Solution Explorer. Clique em um caminho invlido na coluna Enter Working Copy Location Here. Clique no boto de reticncias () Digite um caminho vlido, por exemplo, http://<host local>/pasta1, e clique em OK. Se a pasta ainda no existir, o Visual Studio criar uma.

Como conectar ou desconectar uma soluo ou um projeto


Conforme descrito em Introduo ao Controle de Cdigo Fonte, uma soluo no Visual Studio pode ter um ou mais vnculos com o controle de cdigo fonte. Uma conexo criada automaticamente sempre que um item vinculado ao controle de cdigo fonte conforme descrito em Como vincular ou desvincular uma soluo ou um projeto. Pode-se criar uma conexo manualmente conforme descrito neste tpico. Se voc desconectar seu computador da rede ou perder a conexo por alguma outra razo, voc deve desconectar temporariamente os vnculos da soluo a fim de editar os projetos e os arquivos nela contidos. Quando voc desconecta uma soluo do controle de cdigo fonte, o nico comando bsico que voc pode usar o comando de check-out. Ao realizar o check-out de um item desconectado, a cpia local do item, contida na sua pasta de trabalho, torna-se editvel. Quando for possvel acessar o banco de dados novamente, voc pode reconectar a soluo e sincronizar sua cpia local com a cpia mestre mais recente. Procedimentos Para conectar uma soluo ou um projeto ao controle de cdigo fonte 1. No Visual Studio, abra a janela Solution Explorer e selecione os itens a serem conectados.

Visual Studio

16

2. 3. 4. 1. 2. 3. 4.

No meu File , clique em Source Control e depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Connect. Clique em OK. No Visual Studio, abra a janela Solution Explorer e selecione os itens a serem desconectados. No menu File, clique em Source Control e depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Disconnect. Clique em OK.

Para desconectar uma soluo ou projeto de controle de cdigo fonte

COMO: copiar um item sob controle de origem


Voc pode copiar um projeto de uma soluo sob controle de origem para outra, ou copiar um arquivo de um projeto sob controle de origem para outro. Quando voc copia um item, uma nova ramificao criada no banco de dados, junto com o histrico e outros metadados do item. Criar ramificaes permite que sua equipe desenvolva duas verses de um produto simultaneamente e independentemente. Observao Se voc copiar um projeto sob controle de origem para uma soluo que no est sob controle de origem, no podero ser criadas ramificaes no projeto. Para copiar um projeto sob controle de origem 1. 2. 3. 4. 5. 6. 7. No Visual Studio, abra o Solution Explorer. Clique com o boto direito do mouse na soluo de destino no Solution Explorer. No menu File, clique em Add e depois em Existing Project. Na caixa de dilogo Add Existing Project, clique no nome de seu plug-in de controle de origem. Clique duas vezes no banco de dados contendo o projeto que voc deseja copiar. Selecione o projeto, e clique em Add. Clique em OK.

Para copiar um arquivo sob controle de origem 1. 2. No Visual Studio, abra o Solution Explorer. Clique com o boto direito do mouse no projeto de destino no Solution Explorer. Este projeto deve estar no mesmo banco de dados que o projeto de origem. No menu File, clique em Add e depois em Existing Item.

3.

Visual Studio

17

4. 5. 6. 7.

Na caixa de dilogo Add Existing Item, clique no nome de seu plug-in de controle de origem. Clique duas vezes no banco de dados que contm o arquivo que voc deseja copiar. Selecione o arquivo, e clique em Add. Clique em OK.

COMO: excluir um item controlado por origem


Quando voc exclui um item controlado por origem, o Visual Studio exclui automaticamente a cpia local, se o plug-in de controle de origem apoiar a propagao de modificao de espao para nome. Caso contrrio, ele o consultar para obter instrues sobre excluso. Para mais informaes sobre propagao de modificao de espao para nome, consulte Introduo ao controle de origem. A maioria dos plug-ins para controle de origem para o Visual Studio no exclui permanentemente itens de um banco de dados. Para obter mais informaes sobre como excluir permanentemente um item de controle de origem, consulte a documentao do produto de terceiros para seu plug-in. Para excluir um item controlado por origem 1. 2. No Visual Studio, abra Solution Explorer. Clique com o boto direito do mouse no item que deseja excluir, depois clique Delete ou Remove.

Observao O comando Remove s estar disponvel para projetos a base de referncia, como projetos C++. 1. 2. 3. 4. 5. 6. Voc ser solicitado para fazer o check-out no item. Faa o check-out como apoiado pelo seu plug-in de controle de origem. Se tiver clicado em Remove, anteriormente, clique em Delete na caixa de dilogo que aparece. Na caixa de dilogo Source Control, clique em Delete the item(s) locally and in the source control store. Em Solution Explorer, faa o check-in do item como apoiado pelo seu plug-in de controle de origem. Notifique a excluso a qualquer pessoa que possa ter feito o check-out do projeto ao qual o item excludo pertence. Se houver suporte para a propagao de modificao de espao para nome, permita que os outros usurios faam a atualizao de suas cpias locais. Eles recebero uma mensagem notificando-os da excluso. Se no houver suporte propagao de modificao de espao para nome, voc ter de informar aos outros usurios para removerem manualmente suas cpias locais do item excludo.

7.

Visual Studio

18

Como ativar recuperao automtica


Voc pode configurar o Visual Studio para recuperar automaticamente a verso mais recente de um item sob controle de verso sempre que voc abri-lo. Isso garante que a cpia local permanecer sincronizada com a cpia mestra. Procedimentos Para obter a verso mais recente automaticamente 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control e em seguida clique em Environment. Marque a caixa de seleo Get everything when a solution or project is opened. Clique em OK.

Como desativar a criao da pasta <solutionname>.root


Quando voc adiciona uma soluo ao controle de cdigo fonte, o respectivo plug-in cria automaticamente uma pasta < solutionname >.root vazia no banco de dados. Essa pasta ir conter a raiz unificada da soluo. Para mais informaes sobre a raiz unificada, consulte Introduo ao controle de cdigo fonte. Cuidado Desativar a criao automtica da pasta < solutionname >.root ir alterar o comportamento do plug-in sempre que uma soluo com vrios projeto for adicionada ao controle de cdigo fonte. Por exemplo, operaes que adicionam projetos levaro mais tempo para concluir. Alm disso, voc ter que responder a solicitaes redundantes ao executar operaes de controle de cdigo fonte em vrios projetos. Para desativar a criao automtica da pasta < solutionname >.root 1. 2. 3. 4. 5. 6. Na rea de trabalho do Windows, clique em Start e, em seguida, clique em Run Digite Regedit e clique em OK. Abra \SourceControl HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\ < nmero de verso >. Selecione a chave DoNotCreateSolutionRootFolderInSourceControl e clique em Edit e depois em Modify. Na caixa de dados Value, troque 0 por 1. Clique em OK para aceitar a alterao do registro.

COMO: Ativar Check-ins automticos


Voc pode configurar o Visual Studio para que efetue automaticamente check-in nas suas alteraes no controle de origem quando voc fechar uma soluo.

Visual Studio

19

Automatizar o processo de check-in garante que seus trabalhos mais recentes se tornem periodicamente disponveis para outros membros da equipe, mesmo se voc esquecer fazer check-in manualmente. Para ativar checkins automticos 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control, clique em Environment. Marque a caixa de seleo Check in everything when closing a solution or project. Clique em OK.

COMO: desativar check-outs automticos


O controle de origem no Visual Studio permite check-outs automticos por padro. Esta seo descreve como voc pode configurar o Visual Studio para desativar check-outs automticos. Procedimentos Para desativar check-outs automticos 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control, e depois clique em Environment. Na caixa Editing, desmarque a caixa de seleo Check out automatically. Clique em OK.

COMO: ativar ou desativar controle de origem


O controle de origem no Visual Studio estar disponvel somente se um plug-in vlido de controle de origem estiver instalado e registrado para ser usado em seu computador. O plug-in registrado durante a instalao do software de terceiros. O Visual Studio usa esse registro para localizar os plug-ins e as localidade de seus bancos de dados padro sempre que voc abrir a IDE do Visual Studio. Ela lista todos os plug-ins disponveis na aba Plug-in Selection da entrada Source Control na caixa de dilogo Options. Se voc no tiver nenhum plug-in de controle de origem compatvel instalado em seu computador, o controle de origem no Visual Studio no est ativado. Voc no ver nenhuma entrada Source Control no menu File. Cuidado Voc pode usar um plug-in de controle de origem no Visual Studio e o aplicativo autnomo de controle de origem correspondente para gerenciar o mesmo projeto ou soluo. Entretanto, fazer check-outs de itens de ambos os programas para a mesma pasta de trabalho no recomendvel. Isso pode levar a situaes em que solues e projetos no podem ser acessados no controle de origem.

Visual Studio

20

Para ativar um determinado plug-in de controle de origem 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options , clique em Source Control, clique em Plug-in Selection. Selecione o plug-in de controle de origem que deseja usar. Clique em OK.

Para desativar completamente o controle de origem 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control, clique em Plug-in Selection. Selecione None na caixa Current source control plug-in. Clique em OK.

COMO: excluir um arquivo de controle de origem


Se a soluo em voc estiver trabalhando contm arquivos que no requerem controle de origem, voc pode utilizar o comando Exclude from Source Control para marcar adequadamente o arquivo. Quando voc fizer isso, o arquivo permanecer no banco de dados, mas no mais realizado check-in ou check-out do mesmo a partir do projeto que o contm. Observao Arquivos gerados so excludos do controle de origem por padro. Um arquivo gerado um que pode ser recriado inteiramente pelo Visual Studio, de acordo com o contedo de outro arquivo do Visual Studio. Para excluir um arquivo do controle de origem 1. 2. 3. No Visual Studio, abra Solution Explorer e selecione o arquivo a ser excludo. No menu File, clique em Source Control, clique em Exclude from Source Control. Quando voc estiver pronto para colocar o arquivo sob controle de origem, voc pode acessar o menu File, clicar em Source Control e ento desmarcar Exclude from Source Control.

COMO: mover uma raiz de ligao de projeto


Voc talvez necessite mover a raiz de ligao de um projeto se alguns arquivos que voc deseja adicionar ao projeto estiverem localizados fora da raiz do projeto. Para mover uma raiz de ligao de projeto 1. No Visual Studio, abra o Solution Explorer e selecione um projeto que contm arquivos que estejam fora da pasta da soluo ou raiz do projeto.

Visual Studio

21

2. 3. 4. 5. 6. 7. 8.

No menu File, clique em Source Control, depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Unbind. Na caixa de mensagem, clique em Unbind para confirmar que voc deseja remover o projeto do controle de origem. Se a soluo e o projeto compartilham uma ligao de controle de origem, desacople a soluo tambm. Com o projeto selecionado, acesse novamente a caixa de dilogo Change Source Control e clique em Bind. Se solicitado, faa logon no seu banco de dados de controle de origem. Selecione a pasta pai na qual todos os arquivos no projeto esto armazenados. Na maioria dos casos, a pasta <nomesoluo>.root esta pasta. Se voc teve que desacoplar a soluo juntamente com o projeto, voc deve relig-la a uma pasta de banco de dados.

9.

COMO: mover um item controlado por fonte


No Visual Studio, voc pode mover um item controlado por origem de uma pasta de projeto ou soluo para outro. Quando voc move um item, voc move todo o histrico e metadados de controle de origem associados se o plug-in de controle de origem apoiar a propagao de modificao de espao para nome. Tanto a origem quanto os itens de destino envolvidos em uma operao de mudana de local devem ser localizados no mesmo banco de dados de controle de origem. Para mais informaes sobre propagao de modificao de espao para nome, consulte Introduo ao controle de origem. Observao A operao de mudana s pode ocorrer entre dois projetos na mesma soluo, ou entre duas solues. Para uma mudana de local ser ativada, uma soluo e seus projetos devem compartilhar uma vinculao de controle de origem. Para mais informaes, consulte COMO: acoplar ou desacoplar uma soluo ou projetos. Para mover um item controlado por origem 1. 2. No Visual Studio, abra o Solution Explorer. Clique no item que voc deseja mover e arraste-o para a soluo ou projeto de destino no Solution Explorer.

COMO: abrir um projeto ou soluo do controle de origem


Quando voc abre um projeto ou soluo do controle de origem, o Visual Studio baixa a cpia mestra mais recente do item e de todos os arquivos contidos para a pasta de trabalho local. Depois que voc recuperar uma cpia local do item, voc no precis abri-lo a partir do controle de origem novamente. Voc pode continuar

Visual Studio

22

a usar os comandos de controle de origem para o seu plug-in especfico de controle de origem. Cuidado Se voc repetir um dos procedimentos neste tpico, voc criar vrias pastas de trabalho e vrias instncias dos arquivos que elas contm. Para abrir um projeto ou soluo do controle de origem 1. 2. 3. 4. 5. 6. No Visual Studio, no menu File, clique em Open. Clique em Project/Solution. Na caixa de dilogo Open Project , selecione Close Solution if not already selected. No lado esquerdo da caixa, clique em My <source control plug-in> Stores, e depois clique em Open. Procure e selecione o seu arquivo de projeto (*.proj) ou de soluo (*.sln), altere a pasta de destino, e depois clique em Open. Se voc j tiver uma cpia local da soluo ou do projeto que voc est abrindo do controle de origem, voc ser solicitado a substituir a cpia local de todos os arquivos e projetos na soluo. Responda s perguntas conforme necessrio.

Para abrir um projeto da Web do controle de origem 1. 2. 3. 4. 5. No Visual Studio, no menu File, clique em Open. Clique em Web Site. Na caixa de dilogo Open Web Site, clique em My <source control plugin> Stores, depois clique em Open. Procure e selecione o projeto da Web, altere a pasta de destino, e depois clique em Open. Se voc j tiver uma cpia local do projeto da Web que voc est abrindo do controle de origem, voc ser solicitado a substituir a cpia local de todos os arquivos e projetos na soluo. Responda s perguntas conforme necessrio.

COMO: Renomear um item controlado por origem


Quando voc renomeia um item controlado por origem, o Visual Studio renomeia a cpia local automaticamente se o plug-in de controle de origem suporta propagao da alterao de namespace. Caso contrrio, ele consultar voc para obter instrues de renomeao. Para mais informaes sobre propagao de alteraes de namespaces, consulte Introduo ao controle de origem. Para renomear um item de origem controlada 1. 2. No Visual Studio, abra o Solution Explorer. Clique com o boto direito do mouse no arquivo a ser renomeado, clique Rename.

Visual Studio

23

3. 4. 5. 6. 7. 8.

Digite um novo nome e pressione Enter. Voc ser solicitado para fazer check-out do item. Efetue o check-out conforme o suporte de seu plug-in de controle de origem. Na caixa de dilogo Source Control, clique em Rename or move the item(s) locally and in the source control store. No Solution Explorer, efetue o check-in do item conforme o suporte de seu plug-in de controle de origem. Notifique qualquer pessoa que possa ter efetuado check-out do item que voc renomeou. Se houver suporte para propagao da alterao de namespace, faa com que os outros usurios efetuem um get para atualizar suas cpias locais. Eles recebero uma mensagem notificando-os sobre a operao de renomeao. Se no houver suporte para a propagao da alterao do namespace, necessrio informar aos outros usurios para que renomeiem suas cpias locais manualmente para refletir a alterao do nome.

9.

COMO: definir opes de plug-in


Dependendo da como voc gerenciar seus itens em controle de origem, voc pode desejar alterar algumas das opes padro de controle de origem antes de usar o banco de dados. Essas opes esto disponveis atravs da Configurao Options no menu Tools do Visual Studio. Observao Consulte a documentao do plug-in de controle de origem em uso para uma lista completa das opes no nvel do banco de dados e das mais avanadas, alm de instrues sobre como configur-las. Para definir opes de plug-in 1. 2. 3. 4. No Visual Studio, no menu Tools, clique em Options e, em seguida, em Source Control. Na caixa de dilogo Options, clique em Plug-in Selection, assegure-se que seu plug-in o indicado, e clique em OK. Selecione Environment na caixa de dilogo Options. Na caixa Source Control Environment Settings, selecione a funo para a qual voc deseja definir as opes de controle de origem. O Visual Studio seleciona automaticamente as opes de controle de origem padro para a funo que voc tiver selecionado. Se voc desmarcar qualquer uma das opes padro, a caixa Source Control Environment Settings exibe a Opo Custom para indicar que voc personalizou o perfil originalmente selecionado. Personalize o perfil, marcando ou desmarcando as caixas de seleo do controle de origem. Clique em OK. Agora clique em Plug-in Settings na caixa de dilogo Options.

5. 6. 7.

Visual Studio

24

8.

Nessa aba, voc pode definir configuraes para cada funo do plug-in. Clicando no boto Advanced tem-se acesso s configuraes avanadas para a funo que voc est configurando. Quando concluir todas as configuraes do plug-in, clique em OK para sair da caixa de dilogo Options.

9.

Como: Trocar plug-ins de controle de origem:


Se voc tiver instalado mais de um plug-in para controle de origem para o Visual Studio, voc pode troc-los a qualquer momento. Lembre-se que projetos controlados por um plug-in de controle de origem no podem ser adicionados a uma soluo gerenciada por um plug-in diferente. Uma vez que voc acrescenta uma soluo ou projeto ao controle de origem que usa um plug-in, voc no pode acrescentar o mesmo item ao controle de origem que usa outro plug-in, a menos que voc remova, primeiro, o item do controle de origem. Para mudar o plug-in padro de controle de origem 1. 2. 3. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options clique em Source Control, depois em Plug-in Selection. Selecione um plug-in e clique OK.

COMO: exibir uma lista de arquivos com check-out


Voc pode usar a janela Pending Checkins para exibir uma lista dos arquivos com check-out na soluo atual. O controle de origem do Visual Studio permite que voc faa um check-in de arquivos desta janela com um nico clique de boto. Para exibir uma lista de arquivos modificados 1. 2. 3. No Visual Studio, no menu View, clique em Pending Checkins. Encaixe a janela conforme desejado. Se voc desejar fazer check-in de arquivos desta janela, selecione-os e clique no boto Check In.

Referncia a Interface do Usurio do controle de origem


Esta seo descreve as caixas de dilogo usadas pelo controle de origem no Visual Studio. As caixas de dilogo a seguir so modelos que o desenvolvedor de plug-in pode adaptar conforme necessrio. Voc pode ou no ver essas caixas de dilogo no Visual Studio, dependendo do plug-in que est sendo usado para controle de origem:

Verifique em Verificar sada para editar Obter Desfazer Checkout

Visual Studio

25

Caixa de dilogo Change Source Control


Cria e gerencia as conexes e ligaes que vinculam uma soluo ou projeto localmente salvos a uma pasta no banco de dados. Observao No possvel usar o Visual Studio para vincular, desvincular, conectar ou desconectar um aplicativo da Web criado utilizando as FrontPage Server Extensions. Acesso caixa de dilogo No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control e depois em Change Source Control. Observao Esta caixa de dilogo tambm est disponvel clicando com o boto direito do mouse sobre o item no Solution Explorer. Vincular Associa os itens selecionados a uma localidade do servidor de controle de origem especificado. Por exemplo, voc pode usar este boto para criar um vinculo pasta mais recentemente utilizada do servidor de controle de origem e banco de dados. Se uma pasta recente do servidor ou do banco de dados no puder ser encontrada, voc ser solicitado a especificar outra. Procurar Permite que voc procure uma nova localidade para o item especificado no servidor de controle de origem. Colunas Identifica colunas para exibio e a ordem na qual elas so exibidas. Conectar Cria uma conexo entre itens selecionados e o servidor de controle de origem. Conectado Exibe o status da conexo de uma soluo ou projeto selecionado. Desconectar Desconecta a cpia local de uma soluo ou projeto no seu computador da cpia mestre no banco de dados. Utilize esse comando antes de desconectar seu computador do servidor de controle de origem, por exemplo, ao trabalhar off-line em seu laptop. OK Aceita alteraes feitas na caixa de dilogo. Provedor Exibe o nome do plug-in de controle de origem. Atualizar

Visual Studio

26

Atualiza as informaes de conexo para todos os projetos listados nesta caixa dilogo. Servidor Binding Indica a ligao de um item a um servidor de controle de origem. Nome do servidor Exibe o nome do servidor de controle de origem ao qual a soluo ou projeto correspondente est acoplada. Solution/Project Exibe o nome de cada projeto e soluo na seleo atual. Classificao Altera a ordem de classificao de colunas exibidas. Status Identifica o status de vinculao e conexo de um item. As possveis opes so: Opo Vlido Descrio Especifica que o item est corretamente vinculado e conectado a pasta do servidor ao qual ele pertence. Especifica que o item est incorretamente vinculado ou desconectado da pasta qual ele pertence. Use o comando Add to Source Control ao invs do comando Bind para este item.

Invlido

Desconhecido Especifica que status do item sob controle de origem ainda no foi determinado. No controlado Desagrupar Exibe a caixa de dilogo Source Control que permite que voc remova os itens selecionados do controle de origem e permanentemente disassocie-os das suas pastas. Observao Se voc desvincular um projeto da Web, ser impossvel revincul-lo a seu servidor de controle de origem original at que voc altere a localidade de sua cpia de trabalho. Especifica que o item no se encontra sob controle de origem.

Caixa de dilogo Check In (Controle de Cdigo Fonte)


Verifica um arquivo, soluo ou projeto alterado no banco de dados do controle de cdigo fonte. Check-ins tambm podem ser feitos a partir da janela Pending Checkins.

Visual Studio

27

Acesso caixa de dilogo No Visual Studio, selecione um item na janela Solution Explorer. No menu File, clique em Source Control depois em Check In. Observao Esta caixa de dilogo tambm disponibilizada clicando-se com o boto direito no item na janela Solution Explorer. Check In Realiza o check-in de todos os itens selecionados. Columns Identifica as colunas a serem exibidas e a ordem na qual elas so exibidas. Comments Especifica um comentrio a ser associado com a operao de check-in. Don't show Check in dialog box when checking in items Impede que a caixa de dilogo seja exibidas durante operaes de check-in. Flat View Exibe os arquivos onde est sendo feito o check-in como listas simples sob sua conexo com controle de cdigo fonte. Name Exibe os nomes dos itens onde deve-se fazer o check-in. Os itens aparecem com as caixas de seleo ao lado selecionadas. Se voc no desejar fazer check-in de um item especfico, desmarque sua caixa de seleo. Options Exibe opes de check-in especficas de plug-ins de controle de cdigo fonte quando a seta direita do boto selecionada. Sort Altera a ordem de classificao das colunas de exibio. Tree View Exibe a pasta e a hierarquia dos itens nos quais voc estiver realizando o check-in.

Check-out para a caixa de dilogo Edit (controle de origem)


Faz check-out de solues, projetos ou itens individuais do controle de origem. Fazer check-out de um item pode copiar a cpia mestre atual para o seu computador local e remover o seu atributo de somente leitura. Opcionalmente voc pode configurar o comando Check Out For Edit para fazer check-out somente da verso local. A menos que o pacote de controle de origem esteja configurado para dar suporte a checkouts compartilhados, fazer check-out de um item tambm bloqueia o item de maneira que ele estar em somente leitura para outros usurios.

Visual Studio

28

Caixa de dilogo Access No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control, depois clique em Check Out For Edit. Observao Esta caixa de dilogo tambm est disponvel clicando com o boto direito do mouse no item no Solution Explorer. Verificar sada Faz check-out de todos os itens selecionados. Colunas Identifica as colunas para exibio e a ordem na qual elas so exibidas. Comentrios Especifica um comentrio para associar operao de check-out. No caixa dilogo Show Check Out quando check-out itens Impede que a caixa de dilogo seja exibida durante operaes de check-out. Exibir simples Exibe os itens do check-out em progresso como listas simples sob sua conexo de controle de origem. Editar Permite que voc modifique um item sem fazer seu check-out. O boto Edit aparece somente se voc tiver o Visual Studio configurado para dar suporte edio de arquivos com check-in. Nome Exibe os nomes dos itens disponveis para check-out. Os itens que esto selecionados aparecem com caixas de seleo ao seu lado. Se voc no desejar fazer check-out de um item especfico, desmarque sua caixa de seleo. Opes Exibe opes de check-out especficas do plug-in de controle de origem quando a seta direita do boto clicada. Classificao Altera a ordem de classificao das colunas exibidas. Exibir rvore Exibe a hierarquia de pastas e arquivos para o item do check-out em progresso.

Caixa de dilogo Get (controle de origem)


Recupera uma cpia somente para leitura do item selecionado do banco de dados para sua pasta de trabalho, ou outra pasta que voc especificar.

Visual Studio

29

Acesso caixa de dilogo No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control, depois em Get. Observao Esta caixa de dilogo tambm est disponvel clicando-se com o boto direito do mouse sobre o item no Solution Explorer. Ao Especifica a ao a ser executada nos itens a ser recuperados. Colunas Identifica colunas para exibio e a ordem na qual elas so exibidas. Exibir simples Exibe os arquivos sendo recuperados como listas simples sob suas conexes ao controle de origem. Hora modificado Exibe o momento em que um item foi modificado pela ltima vez. Nome Exibe os nomes dos itens a ser recuperados. Os itens aparecem com as caixas de seleo ao lado dos mesmos selecionadas. Se voc no desejar recuperar um item especfico, desmarque a caixa de seleo correspondente. Opes Exibe opes de recuperao especficas do plug-in do Source Safe quando a seta direita do boto clicada. Classificao Altera a ordem de classificao das colunas exibidas. Exibir rvore Exibe a hierarquia de pastas e arquivos para os itens sendo recuperados.

Janela de check-ins pendentes


Exibe todos os arquivos com check-out na soluo ou projeto atual. Voc pode usar esta janela para fazer check-in de todos os arquivos com um nico clique de boto. Caixa de dilogo de acesso No Visual Studio, no menu View, clique em Pending Checkins. Change type Identifica o tipo de alterao que foi feita para o item selecionado. Check In Efetua check-in dos itens selecionados. Columns

Visual Studio

30

Identifica as colunas para exibio e a ordem na qual elas sero exibidas. Comments Especifica um comentrio a ser associado com a operao de check-in. Flat View Exibe os arquivos que voc est efetuando check-in na forma de listas simples em sua conexo de controle de origem. Name Exibe os nomes dos itens com check-in a ser efetuado. Os itens aparecem com as caixas de seleo ao seus lados selecionadas. Se voc no desejar fazer o check-in de um item especfico, desmarque sua caixa de seleo. Options Exibe opes de check-in especficas de plug-ins quando a seta direita do boto clicada. Sort Altera a ordem de classificao das colunas exibidas. Tree View Exibe a hierarquia das pasta e arquivos que voc estiver efetuando check-in. Undo checkout Reverte o check-out de um item selecionado, o qual perde qualquer alterao feita desde o check out.

Guias de plug-in para controle de origem (caixa de dilogo Options)


Permitem a personalizao de funes de controle de origem e configuraes de plug-in no Visual Studio. As guias de plug-in fazem parte da caixa de dilogo Options do Visual Studio, localizada sob a entrada Source Control:

Plug-in Selection Alterna entre os plug-ins de controle de origem. Environment Especifica as configuraes de ambiente para as funes padres definidas pelo Visual Studio. Por exemplo, se o usurio for um desenvolvedor independente, conflitos com outros usurios no so geralmente criados ao manter itens com check-out aps um check-in. Para esta funo, o Visual Studio seleciona automaticamente a opo Keep items checked out when checking in. Plug-in Settings Especifica opes para identificar o plug-in de controle de origem associado a um projeto ou soluo.

Guia Access No Visual Studio, no menu Tools, clique em Options, e depois em Source Control. Opes so definidas para Plug-in Selection, Environment, e Plug-in Settings. Lista de elementos de interface do usurio, Selection Plug-in Altera o plug-in atual de controle de origem associado ao IDE do Visual Studio, e faz dele o plug-in padro. O plug-in selecionado refletido na entrada Source

Visual Studio

31

Control no menu File do Visual Studio. Clique em OK para registrar sua alterao e alternar a operao para o plug-in escolhido por voc. Observao Voc pode usar esta parte da caixa de dilogo Options para desativar o controle de origem clicando em None na lista de plug-ins Lista de elementos de interface do usurio, Environment Permitir que itens a serem editadas checked-in Especifica que itens com check-in podem ser editados na memria. Se este item estiver selecionado, um boto Edit aparecer na caixa de dilogo Check Out For Edit quando voc tentar editar um item com check-in. Check in tudo ao fechar uma soluo ou projeto Especifica que voc ir fazer check-in de todos os itens ao fechar uma soluo ou projeto. Itens Checked-in Contm configuraes para salvar e editar itens com check-in. No Mostrar caixa de dilogo check-out quando check-out itens Especifica que o Visual Studio deve exibir o comando Check Out Now no menu File. Nesse caso, uma caixa de dilogo de check-out no exibida. No Mostrar caixa de dilogo check-in ao verificar em itens Especifica que o Visual Studio deve exibir o comando Check In Now no menu File. Nesse caso, uma caixa de dilogo de check-in no ser exibida. No mostrar esta caixa de dilogo novamente Especifica que o Visual Studio no deve mostrar as configuraes de ambiente de controle de origem. Edio Especifica a maneira com que itens devem ser manipulados na edio. As opes possveis so: Opo Prompt for checkout Prompt for exclusive checkouts Check out automatically Do nothing Descrio Especifica que o Visual Studio deve emitir um prompt para um check-out. Especifica que o Visual Studio deve emitir um prompt para check-outs exclusivos. Indica que o Visual Studio deve fazer check-out de itens automaticamente. Especifica que o Visual Studio no deve fazer nada na edio.

Obter tudo quando uma soluo ou projeto for aberto

Visual Studio

32

Recupera a verso mais recente de todos os itens quando voc abre uma soluo ou projeto. Manter itens check-out ao verificar na Especifica que itens em processo de check-in devem permanecer com checkout para voc. Se voc desejar alterar esta opo para um check-in especfico, clique na seta de Options na caixa de dilogo Check In, e desmarque a opo Keep Checked Out. Redefinir Redefine confirmaes. Salvar Especifica a maneira com que itens devem ser manipulados quando voc os salva. As opes possveis so: Opo Prompt for checkout Descrio Especifica que o Visual Studio deve emitir um prompt para check-out em uma operao de salvar. Especifica que o Visual Studio deve fazer check-out automaticamente em uma operao de salvar. Especifica que o Visual Studio deve apresentar um prompt Save as em uma operao de salvar.

Check out automatically Save as

Configuraes de ambiente controle de origem Especifica o nome do plug-in de controle de origem para o qual voc est definindo opes de ambiente. Lista de elementos de interface do usurio, Plug-in Settings Avanadas Permite que voc defina opes adicionais para usar o plug-in de controle de origem . O boto Advanced s est disponvel quando um plug-in de controle de origem vlido est instalado no computador local. As configuraes avanadas so especficas para o plug-in. Identificao de logon Especifica o nome de usurio para efetuar logon no plug-in de controle de origem. Se seu plug-in der suporte, esse nome ser colocado automaticamente na caixa de dilogo de logon usada pelo plug-in de controle de origem para acessar o servidor. Para ativar essa opo, desative logons de usurio automticos do seu plug-in de controle de origem, e reinicie o Visual Studio. Observao A identificao de logon somente pode ser editada quando um plug-in vlido de controle de origem estiver instalado na mquina local.

Visual Studio

33

Executar atualizaes de status em segundo plano Atualiza automaticamente os cones de controle de origem no Solution Explorer medida que o status de item se altera. Se voc tiver atrasos ao executar operaes intensivas no servidor, especialmente quando abrir uma soluo ou projeto do controle de origem, desmarcar esta opo pode melhorar o desempenho. Configuraes plug-in Especifica o nome do plug-in de controle de origem para o qual voc est fazendo configuraes.

Caixa de dilogo Source Control


Permite que voc remova itens do controle de cdigo fonte e desfaa permanentemente a associao entre os itens e suas pastas. Esta caixa de dilogo usada para propagar as operaes excluir, renomear e mover. Acesso caixa de dilogo No Visual Studio, clique em um item com o boto direito do mouse, em seguida, clique em Delete ou Rename. O contedo da caixa de dilogo varia dependendo do comando. Lista de elementos da interface do usurio para renomeaes ou movimentaes Make my current choice the default action for all future renames or moves Especifica que sua escolha ser a ao padro das operaes posteriores de renomear ou mover. Voc pode redefinir o padro em Only rename or move item(s) locally Especifica que os itens devem ser renomeados localmente. Os itens renomeados ou movidos no mais estaro sob controle de verso. Rename or move the item(s) locally and in the source control store Especifica que os itens devem ser renomeados localmente e no banco de dados. A verso mais recente da soluo ou projeto no refletir a renomeao ou a movimentao at o prximo check-in. You are about to rename or move the following Lista os itens que voc selecionou para serem renomeados ou movidos. Lista de elementos da interface do usurio para excluses Delete the item(s) locally and in the source control store Especifica que os itens devem ser excludos localmente e no banco de dados. A verso mais recente da soluo ou projeto no refletir a operao de excluso at o prximo check-in. Make my current choice the default action for all future deletes Especifica que a sua escolha ser a ao padro das operaes posteriores de excluso. Only delete item(s) locally

Visual Studio

34

Especifica que os itens devem ser excludos localmente. Outros membros da equipe no so afetados por essa opo at o prximo check-in. Voc precisar excluir manualmente os itens no banco de dados aps o check-in. You are about to delete the following Lista os itens que voc selecionou para excluso.

Caixa de dilogo Undo Checkout (Controle de Cdigo Fonte)


Reverte a opo de check-out do item selecionado na janela Solution Explorer. Voc perder qualquer alterao feita desde o ltimo check-out. Acesso caixa de dilogo No Visual Studio, selecione um item na janela Solution Explorer. No menu File, clique em Source Control e em seguida clique em Undo Checkout. Observao Esta caixa de dilogo tambm disponibilizada clicando-se com o boto direito no item na janela Solution Explorer. Columns Identifica as colunas a serem exibidas e a ordem na qual elas so exibidas. Flat View Exibe os itens como listas simples sob a sua conexo com o controle de cdigo fonte. Name Exibe os nomes dos itens para os quais ser desfeito o check-out. Os itens aparecem com as caixas de seleo ao seu lado selecionadas. Se voc no deseja desfazer o check-out de um item, desmarque sua caixa de seleo. Options Exibe opes para desfazer o check-out especficas de plug-ins de controle de cdigo fonte quando a seta direita do boto selecionada. Sort Altera a ordem de classificao das colunas de exibio. Tree View Exibe a pasta e a hierarquia dos itens nos quais voc est revertendo o check-out. Undo Checkout Reverte o check-out.

Visual Studio

35

Configuraes do Visual Studio


Configuraes no Visual Studio consistir de personalizaes feitas para o ambiente de desenvolvimento integrado (IDE) com base em diferentes tipos de atividades de desenvolvimento e seus prprios personalizaes. Essas personalizaes incluir mostrar ou ocultar determinada layouts janela, colocao dos comandos de menu, nomes de menu, modelos disponveis na caixa de dilogo Novo projetos, janelas de ferramentas, predefinidas combinaes de teclas de atalho, e ajuda filtros, e assim por diante. Com configuraes, voc pode:

Criar uma cpia das suas configuraes ativa para uso em uma segunda mquina Compartilhar suas configuraes Ativa com outros desenvolvedores Permitir todos os membros da equipe para usar as mesmas configuraes em Selecione reas, como o editor, sem remover personalizaes para outras reas individuais

Quais so configuraes? Configuraes so personalizaes ao IDE, como layouts janela, padres editor, e opes caixa dilogo disponveis que voc pode salvar, Exportar, importar, ou redefinir para facilitar o IDE para usar. As configuraes Ativa consistem em duas partes: predefinidas personalizaes do arquivo instalado.vssettings voc selecionou na primeira vez voc iniciou Visual Studio e qualquer personalizao IDE subseqentes que voc fez. Configuraes ativa so salvas por padro no currentsettings.vssettings arquivo. Para obter mais informaes sobre as configuraes predefinidas disponveis com Visual Studio, consulte os seguintes tpicos. Como configuraes funcionam? Quando voc inicia Visual Studio, primeiro necessrio para selecionar uma coleo configuraes que contm configuraes predefinidas projetadas para corresponder seus hbitos de desenvolvimento. Se voc atualizar para outro edio do Visual Studio, voc tambm ter a opo de aplicar configuraes a outros edio na usando a My Previous Settings opo. A coleo configuraes o primeiro elemento de suas configuraes ativa. Cada vez que fizer uma alterao em uma configurao controlada pelo Visual Studio, como alterar a cor do commented cdigo no Editor, a alterao automaticamente salvo para currentsettings.vssettings juntamente com as configuraes predefinidas. O Visual Studio aplica suas configuraes ativa automaticamente sempre que voc iniciar o Visual Studio. Em alguns casos, voc pode alterar as configuraes aplicadas como parte de uma coleo predefinida Por exemplo, se uma coleo configuraes simplificada caixa de dilogo Opes, ocultando pginas, voc pode exibir essas pginas manualmente, selecionando Show all settings. Em outros casos, voc no pode substituir a configurao predefinida sem aplicar uma coleo diferente. Para obter uma lista detalhada das personalizaes includos no configuraes predefinidas, consulte Configuraes do Visual Studio. Para obter informaes sobre como aplicar colees configuraes diferentes, consulte Como: Alterar configuraes selecionadas.

Visual Studio

36

Configuraes podem ser aplicadas de duas maneiras: completamente voc pode substituir as configuraes Ativa com novas configuraes ou voc pode substituir uma parte de suas configuraes ativa. Importar um arquivo que contm todas as categorias configuraes possveis.vssettings ou aplicar outra coleo configuraes dois substituiro as configuraes ativa completamente. Importar um arquivo que contm somente um subconjunto das categorias configuraes ou unselecting categorias configuraes em um arquivo.vssettings.vssettings s se aplica essas configuraes que estiver selecionadas, deixando as configuraes ativos para as categorias restantes intacto. Ajuda e Configuraes Colees configuraes predefinidas tambm fornecer personalizaes Ajuda. Configuraes especificam o padro How Do I Pgina na Ajuda. Eu selecionado como pendente eu pgina filtros fazer o contedo que aparece no ndice analtico e no ndice,, bem como fornece contedo personalizado na caixa como guia. Voc pode alterar o ativo How Do I pgina na lista drop-down como pendente eu outras pginas. Configuraes e segurana Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana se voc compartilhar suas configuraes com outros usurios. Inversamente, se voc pretende importar configuraes fornecidas por outras pessoas, voc precisar estar ciente das categorias dentro do arquivo configuraes que podem ser uma questo de segurana. Um cone aparece ao lado essas categorias com as possveis questes de segurana. Essas categorias configuraes incluem:

Favoritos Importar e exportar configuraes

Como: Alterar configuraes selecionadas


Voc pode aplicar um sub-set das configuraes de uma coleo configuraes diferentes para as configuraes atuais para criar um ambiente de desenvolvimento mais personalizada. Para obter mais informaes sobre configuraes predefinidas, consulte Configuraes do Visual Studio. Para alterar configuraes selecione 1. 2. 3. 4. 5. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. Na pgina Save Current Settings, selecionar Yes, save my current settings, e clique em Next No Which collection of settings do you want to import, selecione uma coleo configuraes na lista e clique em Next. No Which settings do you want to import, expanda a lista e selecione apenas a categorias ou itens de categoria que voc deseja que se aplicam as configuraes atuais. Clique em Finish. A Reset Complete pgina lista os erros associados a redefinindo as configuraes com Details.

6.

Visual Studio

37

Trabalhando com configuraes


Esta seo contm informaes sobre a aplicao, exportar e importar configuraes para personalizar o ambiente de desenvolvimento integrado (IDE) para melhor correspondncia seu estilo de desenvolvimento. Voc tambm pode encontrar informaes gerais sobre como configuraes funcionam e os tipos de itens que so personalizadas atravs das configuraes. Alm disso, aprender a especificar um conjunto de configuraes de uso da equipe.

COMO: Compartilhar configuraes entre computadores


Voc pode exportar configuraes para o editor, projetos, depurao, fontes e cores, e outras reas IDE a um arquivo que voc pode importar e usar em outro computador, como seu computador de desenvolvimento segundo ou computador um colega na. Exportar configuraes para um arquivo Voc pode optar por exportar todas ou algumas das suas configuraes atuais a um arquivo.vssettings que voc pode usar em um computador segundo ou compartilhar com outros desenvolvedores. Para exportar configuraes 1. 2. 3. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Export selected environment settings e clique em Next. No Which settings do you want to export?, selecione as categorias voc pretende exportar e, em seguida, clique em Next Configuraes. Observao Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 4. 5. 6. 7. No What do you want to name your settings file, digite um nome para o arquivo de configuraes. Se voc gostaria de salvar o arquivo em um local diferente, clique Browse ou digite um novo caminho para Store my settings file in this directory. Clique em Finish. Na pgina Export Complete, examine os erros associados exportao as configuraes com Details.

Importar um arquivo.vssettings Aps ter criado um arquivo.vssettings, voc pode usar esse arquivo em outros computadores ao importar esse arquivo para outra instalao do Visual Studio. Voc tambm pode importar arquivos de configurao criados por outros usurios e aplicar essas configuraes para o Visual Studio. Se voc est importando o arquivo configuraes contm todas as categorias configuraes possveis, importar esse arquivo completamente substitui as configuraes existentes. Importar o arquivo se um arquivo de configuraes

Visual Studio

38

contm apenas um subconjunto das categorias configuraes, apenas aplica essas categorias e no afeta as configuraes atuais para categorias no importadas. Um desenvolvedor na equipe por exemplo, tem exportadas todas as sua configuraes para um arquivo para que outras pessoas na equipe podem utiliz-lo. Se voc desejar se aplicar as configuraes de fontes e cores e as configuraes teclado desse arquivo, somente voc pode limpar todos os outras categorias configuraes e apenas aplicar as configuraes selecionadas sem alterar as configuraes atuais para as categorias restantes Para importar configuraes 1. 2. 3. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. Logon Save Current Settings, optar Yes, save my current settings por criar um backup de suas personalizaes IDE atuais; optar No, just import new settings, overwriting my current settings por continuar sem fazer o backup suas personalizaes IDE atuais. No What collection of settings do you want to import?, selecione um arquivo na lista ou clique Browse para localizar um arquivo de configuraes e clique em Next. No Which settings do you want to import?, selecione as configuraes opes voc pretende importar do arquivo.vssettings selecionado. Observao Algumas categorias configuraes podem conter informaes que podem ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 6. 7. 8. Clique em Finish. Na caixa Save Current Settings de dilogo, decidir se deve ou no para salvar as configuraes atuais. Na pgina Import Complete, examine os erros associados a importar as configuraes em Details.

4.

5.

Compartilhar um arquivo nico.vssettings entre computadores Em vez de criar uma cpia das suas configuraes atuais e usando a cpia em outro computador, voc pode compartilhar um arquivo.vssettings nico em um compartilhamento de rede. Essa tcnica pode ser til se voc desejar as personalizaes mesmas exatas disponveis em todas as vezes em vrios computadores. Quando voc compartilhar um arquivo.vssettings nico em vrios computadores, personalizaes feitas, independentemente do computador no qual voc torn-los na, so salvas para o arquivo.vssettings. A lista Tarefas por exemplo, se voc fechar a lista de tarefas em um computador, na prxima vez que voc iniciar o Visual Studio em outros computadores, no ser exibida. Para compartilhar um arquivo nico configuraes entre computadores 1. 2. No menu Tools, escolha Options Na pasta Environment, escolha Import and Export Settings.

Visual Studio

39

3. 4. 5.

Na Automatically save my settings to this file, digite uma pasta compartilhada ou clique Browse para localizar um compartilhamento de rede. Clique em OK. No segundo computador, repita as etapas 1 a 4.

Como: Especificar configuraes para uma equipe


Quando estiver trabalhando em um grupo, ele pode ser til para que cada desenvolvedor usar as configuraes mesmas exatas em algumas reas do ambiente de desenvolvimento integrado (IDE), como o editor. Voc pode incentivar Essa consistncia criando um arquivo.vssettings para um subconjunto de categorias configuraes disponveis que todos os desenvolvedores de seu grupo podem usar. Quando aplicado, essas configuraes da equipe no seria substituem qualquer categoria no especificada no arquivo.vssettings, permitindo que desenvolvedores individuais para manter personalizaes feitas para outras reas do IDE. Para obter informaes sobre como criar um arquivo.vssettings, consulte COMO: Compartilhar configuraes entre computadores. O Visual Studio verifica que voc estiver usando a verso mais recente do arquivo.vssettings de grupo sempre que voc iniciar o Visual Studio. Quaisquer alteraes feitas no arquivo.vssettings so aplicadas automaticamente. Para especificar um arquivo.vssettings para uso em um grupo 1. 2. 3. 4. 5. Partir do Tools menu, escolha Options. Na pasta Environment, escolha Import and Export Settings. Selecione Use team settings file. Insira um UNC ou caminho local, ou clique Browse para localizar o arquivo.vssettings de grupo. Clique OK para aplicar as configuraes.

Import and Export Settings Wizard


Use este assistente para exportar configuraes, importar configuraes, ou substituir as configuraes para usar uma coleo configuraes predefinidas. Opo Exportar configuraes de ambiente selecionada Importar configuraes de ambiente selecionada Redefinir todas as configuraes Descrio Salvar um subconjunto ou todas as suas configuraes existentes para que voc pode usar essas configuraes em outro computador. Aplica as configuraes em um arquivo voc tiver recebido. Substitui existentes configuraes com os do arquivo importado. Permite que voc se reverter as configuraes de volta para uma das configuraes predefinidas disponveis com o produto.

Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.

Visual Studio

40

Escolha Configuraes para exportar, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar algumas ou todas as suas configuraes atuais ser exportados para um arquivo para uso em outros computadores. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione para exportar todas as configuraes, ou especificar um sub-set das configuraes por categoria ou item de categoria. Observao Configuraes que podem conter informaes de identificao sobre voc ou seu computador so marcadas com um grfico de aviso. Essas configuraes no so selecionados por padro, mas so automaticamente selecionados se voc escolher All Settings.

Which settings do you want to export?

Nomeie O arquivo de configuraes, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar o nome e local do arquivo que ir conter as configuraes exportadas. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores What do you want to name your settings file? Digite um nome personalizado para as configuraes exportadas. Store my settings file in this directory. Especifica o diretrio padro no qual as configuraes exportadas sero salvos. Clique Browse para especificar uma pasta personalizada.

Salvar configuraes atuais, importar e Assistente para exportao configuraes


Use esta pgina do Assistente para configuraes a importao e exportao para salvar as configuraes ativos antes de importar novas configuraes. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores Yes, save my current settings Selecione esta opo para criar um backup das suas configuraes atuais. Mais tarde voc pode optar por importar essas configuraes para retornar ao estado IDE atual.

Visual Studio

41

Setting file name Store my settings file in this directory

Digite um nome personalizado para as configuraes atuais. Especifica o diretrio padro no qual as configuraes atuais sero salvos. Clique Browse para especificar uma pasta personalizada.

No, just import new settings, overwriting my current settings Selecione esta opo se voc no quiser backup as configuraes atuais. Se voc est importando o arquivo configuraes contm configuraes para itens de categoria voc ter personalizado, as configuraes importadas substituir as alteraes.

Escolha Configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do Assistente para configuraes a importao e exportao para especificar a coleo Configuraes voc pretende importar. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.

Which settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings.

Escolha um coleo de configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do assistente Importar e exportar configuraes para especificar uma coleo configuraes predefinidos ou uma coleo configuraes personalizadas voc deseja importar para uso no IDE. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.

Which collection of settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Para obter mais informaes sobre colees configuraes predefinidas, consulte Configuraes do Visual Studio.

Visual Studio

42

<task> Complete, Import and Export Settings Wizard


Esta pgina do importao e assistente exportar para configuraes exibe informaes sobre a tarefa configuraes concluda com xito ou no e todos os erros que foram encontrados. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. Details Exibe informaes sobre qualquer sucesso ou falhas.

Visual Studio

43

Walkthroughs Visual C#
As explicaes passo a passo fornecem instrues passo a passo para cenrios comuns, que o torna um bom local para iniciar o aprendizado sobre o produto ou uma rea de um recurso especfico. Esta seo contm links para C# programao orientaes e depurao orientaes.

Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C#
Explicao passo a passo a seguir descreve o processo para criar um XML Web Services que converte temperaturas medidas em Fahrenheit para Celsius usando Visual Basic ou C# visual. Voc durante esta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um XML Web Services usando o modelo projeto servio ASP.NET Web. Implementar o XML Web Services. Executar o XML Web Services no modo de depurao. Implantar o XML Web Services.

Para concluir o explicao passo a passo, voc precisar ter acesso a uma mquina que atende aos requisitos para criar um projeto da Web. Para obter mais informaes, consulte Tour guiado da criao de sites no Visual Web Developer e Passo a passo: Criando e usando um servio da Web do ASP.NET no Visual Web Developer. Criar projeto servio XML da Web O Visual Studio fornece um modelo de projeto ASP.NET Web Service para ajud-lo a criar XML Web Services no Visual Basic e Visual C#. Para criar um ASP.NET Web Service Project 1. 2. 3. No menu File, escolha New Web Site. Na caixa de dilogo New Web Site, selecione o cone ASP.NET Web Service. Digite o endereo do servidor Web no qual voc ir desenvolver o XML Web Services e especifique TempConvert1 como o nome do diretrio, tal como " http://MyServer/TempConvert1 ". Por padro, o projeto usa seu computador local, " http://localhost ".

Observao Para alguns tipos de projeto, o caixa de texto Name est disponvel porque especificando a localidade define em vez disso o nome do projeto. Por exemplo, aplicativos da Web e XML Web Services esto localizados em um servidor Web e derivam seus nomes do diretrio virtual especificado no servidor.

Observao Voc desenvolve XML Web Services em um servidor de desenvolvimento. Por padro, o servidor de desenvolvimento sua mquina local. Normalmente, voce desenvolve e constri o projeto em um

Visual Studio

44

servidor de desenvolvimento, e ento voc o implementa em outro servidor (o servidor se implementao) que ir hospedar o XML Web service usando um projeto de implementao. Entretanto, se voc estiver desenvolvendo diretamente no servidor que hospedar o XML Web Services, o servidor de desenvolvimento e o servidor de implantao so os mesmos. 4. Clique OK para criar o projeto.

O Visual Studio automaticamente cria os arquivos necessrios e inclui as referncias necessrias para suportar um XML Web Services. Quando voc criar um projeto XML Web Services no Visual Studio, ver o criador de componente para Service1.asmx. Implementar o servio da Web XML A prxima etapa escrever o cdigo para implementar a funcionalidade do XML Web Services que os clientes iro acessar. Para XML Web Services criados no Visual Studio, um arquivo oculto code-behind associado ao arquivo.asmx do XML Web Services que o Visual Studio criou para voc contm esse cdigo. Para obter mais informaes, consulte COMO: Criar um Mtodo de Servio da Web XML. Para adicionar um mtodo de XML Web Service 1.
Service. Substituia o cdigo de atributo System.Web.Services.WebService com o

No arquivo cdigo Service.vb, localize o cdigo para a declarao de classe

seguinte cdigo antes da declarao de classe (mostrada em negrito): Visual Basic


<System.Web.Services.WebService( _ Namespace:="http://Walkthrough/XmlWebServices/", _ Description:="A temperature conversion service.")> _ Public Class Service [System.Web.Services.WebService( Namespace="http://Walkthrough/XmlWebServices/", Description="A temperature conversion service.")] public class Service : System.Web.Services.WebService

Unindo o atributo WebService classe Public se torna possvel a incluso de informao adicional sobre o XML Web Service, como um namespace para o XML Web Service e uma descrio para o XML Web Service. A propriedade description desse atributo est includa na pgina de ajuda de Service. Para obter mais informaes, consulte COMO: Usar o Atributo WebService. 2. Na classe Service, adicione o seguinte cdigo para declarar a funo ConvertTemperature: Visual Basic
<WebMethod(Description:="This method converts a temperature in " & _ "degrees Fahrenheit to a temperature in degrees Celsius.")> _ Public Function ConvertTemperature(ByVal dFahrenheit As Double) _ As Double Return ((dFahrenheit - 32) * 5) / 9 End Function [WebMethod(Description="This method converts a temperature in " + "degrees Fahrenheit to a temperature in degrees Celsius.")] public double ConvertTemperature(double dFahrenheit) { return ((dFahrenheit - 32) * 5) / 9; }

Anexando o atributo WebMethod a um mtodo Public expe esse mtodo como parte do XML Web Services. A propriedade description deste atributo est includo na pgina ajuda de Service e na pgina de ajuda Service Methods. Para obter mais informaes, consulte COMO: Usar o Atributo WebMethod. 3. Clique com o boto direito do mouse Service.asmx em Solution Explorer e clique Set as Start Page no menu de atalho.

Visual Studio

45

4.

Salvar a soluo.

Depurar o XML Web Service O Visual Studio oferece vrios mtodos para criar e executar um XML Web Services a partir da IDE, tais como:

Iniciar (com depurao) Iniciar sem depurao Modo de Exibio no navegador

Como um projeto Visual Studio, este XML Web Services tem configuraes separadas para as verses de lanamento e depurao. Como voc criou este projeto usando o modelo de projeto do servio da Web ASP.NET, Visual Studio automaticamente criou essas configuraes e definiu as opes padro apropriadas e outras configuraes. Para obter mais informaes, consulte HOW TO: definir depurao e configuraes de verso. Nesta explicao passo a passo, ser colocado um ponto de interrupo no XML Web Services e usado o mtodo Start (with Debugging). Para obter mais informaes, consulte Como Depurar XML Web Services em Cdigo No Gerenciado. Antes de depurao, verifique as configuraes de depurao. Para obter mais informaes, consulte Projetos Servio da Web XML depurao preparao:. Para usar um ponto de interrupo e iniciar o XML Web Services com depurao 1. No menu Debug, escolher New Breakpoint, ento Break At Function. Na guia Function, digite ConvertTemperature na caixa Function e clique OK para adicionar um ponto de interrupo na declarao de mtodo ConvertTemperature. 2. No menu Debug, clique em Start, clique Ok na janela Debugging Not Enabled para iniciar depurao. Este comando instrui o Visual Studio a executar o XML Web Services no depurador. O Visual Studio cria o projeto e o implanta para o servidor de desenvolvimento designado. Aps a concluso, o navegador padro exibe o arquivo.asmx a partir do servidor de implantao. Quando voc abre um arquivo.asmx em um navegador, o XML Web Services retorna uma pgina Service auxiliar que fornece informaes sobre o XML Web Services. O Service Description link leva voc para um documento XML que contm a descrio servio formal do XML Web Services. Para obter mais informaes, consulte XML Web Service Description. 3. 4. Na pgina de ajuda Service, clique no link ConvertTemperature. Na caixa dFahrenheit, digite o nmero 212, e clique no boto Invoke. Quando o processamento atingir a funo ConvertTemperature, o processamento pra. O depurador Visual Studio reala a linha que contm o ponto de interrupo; enquanto ele interrompido, voc pode executar uma variedade de tarefas. Para obter mais informaes, consulte Explicao detalhada sobre o depurador e Exibindo Dados no Depurador. 5. 6. No menu Debug, clique em Continue para continuar o processamento. O XML Web Services responde retornando o valor convertido em um documento XML semelhante ao seguinte:

Visual Studio

46

<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>

Para interromper a execuo do XML Web Services e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging. 7. No menu Debug, clique em Delete All Breakpoints. Implantando o XML Web Service Para tornar seu XML Web Services disponvel para outros, voc deve implant-lo em um servidor Web que seja acessvel para os clientes que voc queira dar suporte. Para distribuir o XML Web Services para um servidor que no seja o servidor de desenvolvimento, voc pode adicionar um projeto Web Setup ou copiar os arquivos necessrios para o servidor de destino. Nesta explicao passo a passo, voc pode escolher como implantar este XML Web Services. Para obter mais informaes, consulte COMO: Implantar Servios da Web XML no Cdigo Gerenciado. Para implantar o XML Web Services usando um projeto Web Setup 1. 2. 3. No menu File, aponte para Add, e clique New Project. Selecionar o n Other, e o n Setup and Deployment Projects, e clique em Web Setup Project. Na caixa Name, digitar TempConvert1WebSetup, e clique OK.

Observao Por padro, o instalador usa o nome do projeto de implantao ao criar o diretrio virtual em seu servidor de implantao. 4. 5. 6. No painel esquerdo do File System Editor, selecione Web Application Folder. Para obter mais informaes, consulte File System Editor. No Solution Explorer, clique com o boto direito do mouse em TempConvert1WebSetup, aponte para Add, e clique Project Output. Na caixa de dilogo Add Project Output Group, selecione Content Files. Para obter mais informaes, consulte Como adicionar e remover Outputs Project no File System Editor:. O grupo Content Files consiste dos seguintes arquivos para o XML Web Services: Service1.asmx, GLOBAL.asax, e Web.config. Para obter mais informaes, consulte COMO: Implantar Servios da Web XML no Cdigo Gerenciado. Clique em OK. No Solution Explorer, clique com o boto direito do mouse no projetoTempConvert1WebSetup, e no menu de atalho, clique Build. Isso cria um arquivo do Windows Installer no diretrio de projeto local. Executar este arquivo instala o aplicativo da Web. Para implantar o XML Web Services, copiando o projeto 1. 2. 3. No Solution Explorer, selecione o projeto TempConvert1. No menu Project, clique em Copy Web Site. Clique no cone ao lado da caixa suspensa Connect To para abrir a caixa de dilogo Open Web Site. Navegue para a localidade para a qual voc deseja copiar o projeto.

7. 8.

Visual Studio

47

4. 5.

No painel Source Web Site, selecione os arquivos para copiar e mov-los para o painel Remote Web Site, clicando no cone de seta direita. . Clique Copy Web Site para copiar o site.

Finalmente, para criar um aplicativo cliente que acesse esse XML Web Services, consulte um destes procedimentos:

Passo-a-Passo: acessando um XML Web Services utilizando Visual Basic ou Visual C# Acessar um servio da Web XML usando C++ Walkthrough: Acessar um servio da Web XML usando C++ e o CLR Walkthrough:

Passo-a-Passo: acessando um XML Web Services utilizando Visual Basic ou Visual C#


A explicao passo-a-passo a seguir descreve o processo para acessar um XML Web Services de um aplicativo criado com Visual Basic ou Visual C#. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um aplicativo cliente usando o modelo de projeto de aplicativo ASP.NET. Adicionar uma referncia da Web para um XML Web Services. Escrever cdigo para acessar o XML Web Services. Executar o aplicativo da Web no modo de depurao. Implantar o aplicativo da Web. Devido ao fato desta explicao passo a passo usar um aplicativo da Web para acessar um XML Web Services, voc deve fornecer uma mquina que atenda aos requisitos para criar um projeto da Web. Para obter mais informaes, consulte Tour guiado da criao de sites no Visual Web Developer. Voc tambm precisar de permisses suficientes para ser capaz de criar projetos XML Web Services no computador onde seu servidor Web est. Para obter detalhes, consulte Segurana de site ASP.NET (Visual Studio). Um XML Web Services criado a partir desta explicao passo a passo: Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C# Criando um projeto cliente de XML Web Services

Para concluir a explicao passo a passo, voc deve fornecer o seguinte:

Nesta explicao passo a passo, voc vai criar um aplicativo simples da Web que acessa o XML Web Services TempConvert1, que foi o nome dado ao XML Web Services criado no Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C#. Observao Se voc alterou o nome do XML Web Services temperatura de converso ao cri-lo, basta substituir os nomes apropriados onde aparece o nome TempConvert1 ao longo desta explicao passo a passo. Criar um aplicativo ASP.NET

Visual Studio

48

1. 2. 3.

No menu File, escolha New Web Site. Na caixa de dilogo New Web Site, selecione o cone ASP.NET Web Site. Digite o endereo do servidor Web no qual voc ir desenvolver o aplicativo da Web e especifique TempConvertClient1 como o nome do diretrio, tal como " http://MyServer/TempConvertClient1 ". Por padro, o projeto usa sua mquina local, " http://localhost ".

Observao Para alguns tipos de projeto, a caixa de texto Name est indisponvel porque a especificao da localidade define o nome do projeto no lugar. Por exemplo, aplicativos da Web e XML Web Services esto localizados em um servidor Web e derivam seus nomes do diretrio virtual especificado nesse servidor.

Observao Voc desenvolve aplicativos da Web em um servidor de desenvolvimento. Por padro, o servidor de desenvolvimento sua mquina local. Tipicamente, voc desenvolve e compila o projeto em um servidor de desenvolvimento e depois voc o implanta em outro servidor (o servidor de implantao) que hospeda o aplicativo da Web usando um projeto de implantao. Entretanto, se voc estiver desenvolvendo diretamente no servidor que hospeda o aplicativo da Web, o servidor de desenvolvimento e o servidor implantao so os mesmos. 4. 5. 6. Clique em OK para criar o projeto. No Solution Explorer, clique com o boto direito do mouse em Default.aspx e escolha View Designer para abrir o designer. Da guia Web Forms da Toolbox, arraste uma Text Box, uma Label e um Button para a superfcie de design de Default.aspx e organize-os ao seu gosto. Clique com o boto direito do mouse no boto adicionado, Button1, e clique em Properties no menu de atalho. Na janela Properties, defina a propriedade Text como Convert. Clique com o boto direito do mouse no rtulo adicionado, Label1, e clique em Properties no menu de atalho. Na janela Properties, desmarque a propriedade Text para fazer deste um rtulo em branco.

7.

8.

Adicionando uma referncia da Web Descoberta de XML Web Services o processo pelo qual um cliente localiza um XML Web Services e obtm sua descrio de servio. O processo de descoberta de XML Web Services no Visual Studio envolve interrogar um site da Web seguindo um algoritmo predeterminado. A meta do processo localizar a descrio de servio, que um documento XML que usa o WSDL (Web Services Description Language). Para obter mais informaes, consulte Descoberta de XML Web Service. A descrio de servio descreve quais servios esto disponveis e como interagir com os servios. Sem uma descrio de servio, impossvel interagir com um XML Web Services programaticamente. Para obter mais informaes, consulte Descrio de XML Web Service. Seu aplicativo deve ter um meio para se comunicar com o XML Web Services e para localiz-lo em tempo de execuo. Adicionar uma referncia da Web ao seu projeto para o XML Web Services faz isso por gerar uma classe proxy que interfaceia com o XML Web Services e fornece uma representao local do XML Web Services. Para

Visual Studio

49

obter mais informaes, consulte Referncias da Web e Gerando um Proxy de XML Web Service. Adicionar uma referncia da Web 1. 2. No menu Website, escolha Add Web Reference. Na caixa URL da caixa de dilogo Add Web Reference, digite o URL para obter a descrio de servio do XML Web Services que voc deseja acessar, tal como http://localhost/TempConvert1/Service1.asmx. Clique no boto Go para recuperar informaes sobre o XML Web Services. - ou Se o XML Web Services est na mquina local, clique no link Web services on the local machine no painel do navegador. Clique no link para o XML Web Services TempConvert1 na lista fornecida para recuperar informaes sobre o XML Web Services. 3. Na caixa Web reference name, renomeie a referncia da Web para ConvertSvc, que o namespace que voc usar para essa referncia da Web. Clique em Add Reference para adicionar uma referncia da Web para o XML Web Services destino. Para obter mais informaes, consulte Adicionando e Removendo Referncias da Web. O Visual Studio baixa a descrio de servio e gera uma classe proxy para interfacear entre seu aplicativo e o XML Web Services. Acessando o XML Web Services Quando voc adiciona uma referncia para o XML Web Services ao seu projeto, a prxima etapa consiste em criar uma instncia da classe proxy do XML Web Services. Voc pode acessar os mtodos do XML Web Services da mesma maneira que voc acessa quaisquer mtodos de objeto, chamando mtodos na classe proxy. Quando o aplicativo chama esses mtodos, o cdigo da classe proxy gerado pelo Visual Studio lida com as comunicaes entre seu aplicativo e o XML Web Services. Primeiro, voc criar uma instncia da classe proxy do XML Web Services. Em seguida, voc pegar um valor, fornecido em TextBox1, e far uma chamada para o mtodo ConvertTemperature do XML Web Services usando a classe proxy. Voc ento ir exibir o valor retornado do XML Web Services no Label1. Acessar o XML Web Services 1. Clique duas vezes no boto Convert em WebForm1.aspx para criar um mtodo de tratamento de evento para este boto e para exibir o arquivo code-behind. Insira o cdigo a seguir:
' Visual Basic Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e as EventArgs) Handles Button1.Click Dim ws As New ConvertSvc.Service Dim dFahrenheit As Double Dim dCelsius As Double Try dFahrenheit = Convert.ToDouble(TextBox1.Text) dCelsius = ws.ConvertTemperature(dFahrenheit) Label1.Text = dCelsius.ToString() Catch Label1.Text = "Conversion failed." End Try End Sub // C# protected void Button1_Click (System.Object sender, System.EventArgs e) { try { ConvertSvc.Service1 ws = new ConvertSvc.Service1(); double dFahrenheit = Convert.ToDouble(TextBox1.Text); double dCelsius = ws.ConvertTemperature(dFahrenheit); Label1.Text = dCelsius.ToString(); } catch { Label1.Text = "Conversion failed."; } }

4.

2.

Visual Studio

50

Observao O nome da classe de XML Web Services gerado ao adicionar uma referncia da Web pode diferir daquele mostrado acima como Service1. 3. 4. 5. Selecione Default.aspx no Solution Explorer. No menu Website, clique em Set as Start Page. Salve a soluo.

Para obter mais informaes, consulte Acessando um XML Web Services em Cdigo Gerenciado. Depurando o cliente de XML Web Services O Visual Studio oferece vrios mtodos para criar e executar um aplicativo da Web a partir do IDE, tais como:

Start (with Debugging) Start without Debugging View in Browser

Como um projeto do Visual Studio, este aplicativo da Web tem configuraes separadas para verses Release e Debug. Desde que voc criou este projeto usando o modelo de projeto de aplicativo ASP.NET, o Visual Studio automaticamente criou essas configuraes e definiu as opes padro apropriadas e outras configuraes. Para obter mais informaes, consulte Configuraes Debug e Release. Nesta explicao passo a passo, voc colocar um ponto de interrupo no evento Button1_Click e usar o mtodo Start (with debugging). Para obter mais informaes, consulte Depurando XML Web Services em Cdigo Gerenciado. Antes da depurao, verifique as configuraes de depurao. Para obter mais informaes, consulte Preparao de Depurao: Aplicativos ASP.NET. Usar um ponto de interrupo e iniciar o aplicativo da Web com depurao 1. No menu Debug, clique em New Breakpoint e em seguida escolha Break At Function. Digite Button1_Click na caixa Function e clique em OK para colocar um ponto de interrupo no manipulador de eventos Button1_Click. Para obter mais informaes, consulte Viso geral sobre pontos de interrupo. 2. No menu Debug, clique em Start, depois clique em Ok na janela Debugging Not Enabled para iniciar a depurao. Este comando instrui o Visual Studio a executar o aplicativo da Web no depurador. O Visual Studio compila o projeto e o implanta no servidor de desenvolvimento designado. Aps a concluso, o navegador padro inicia e navega para o arquivo .aspx no servidor implantao. 3. Depois que a pgina exibida no navegador, digite o nmero 212 na caixa de texto e depois clique no boto Convert. Quando o processamento atinge o manipulador de eventos Button1_Click, o processamento pra. O depurador do Visual Studio reala a linha que contm o ponto de interrupo e, enquanto interrompido, voc poder executar uma

Visual Studio

51

variedade de tarefas. Para obter mais informaes, consulte Usando o Depurador e Ferramentas de Depurao para Inspeo de seu Programa. 4. 5. No menu Debug, clique em Continue para continuar o processamento. O XML Web Services responde retornando o valor convertido e o aplicativo define o texto do Label1 para 100. Para interromper a execuo do aplicativo da Web e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging. 6. No menu Debug, clique em Clear All Breakpoints. Implantando o cliente Para tornar seu aplicativo da Web disponvel para outros, voc deve implant-lo em um servidor Web que seja acessvel para os clientes que voc deseja dar suporte. Para implantar o aplicativo da Web em um servidor que no seja o servidor de desenvolvimento, voc pode adicionar um Web Setup Project ou copiar os arquivos necessrios para o servidor de destino. Nesta explicao passo a passo, voc pode escolher como implantar este aplicativo da Web. Para obter mais informaes, consulte Implantando Aplicativos e Componentes. Implantar o aplicativo da Web usando um Web Setup Project 1. 2. 3. No menu File, aponte para Add e depois clique em New Project. Selecione o n Other e depois o n Setup and Deployment Projects e depois clique em Web Setup Project. Na caixa Name, digite TempConvertClient1WebSetup e depois clique em OK.

Observao Por padro, o instalador usa o nome do projeto de implantao ao criar o diretrio virtual em seu servidor de implantao. 4. 5. No painel esquerdo do File System Editor, selecione Web Application Folder. Para obter mais informaes, consulte File System Editor. No Solution Explorer, clique com o boto direito do mouse em TempConvertClient1WebSetup, aponte para Add e depois clique em Project Output. Na caixa de dilogo Add Project Output Group, selecione Content Files. Para obter mais informaes, consulte Adicionando e Removendo Sadas de Projetos no File System Editor. O grupo Content Files consiste nos arquivos restantes para o aplicativo da Web, tais como WebForm1.aspx e Web.config. Clique em OK. No Solution Explorer, clique com o boto direito do mouse no projeto TempConvertClient1WebSetup e, no menu de atalho, clique em Build. Isso cria um arquivo do Windows Installer no diretrio do projeto local. Executar este arquivo instala o aplicativo da Web. Implantar o aplicativo da Web, copiando o projeto 1. 2. No Solution Explorer, selecione o projeto TempConvertClient1. No menu Project, clique em Copy Web Site.

6.

7. 8.

Visual Studio

52

3.

Clique no cone ao lado da caixa suspensa Connect To para abrir a caixa de dilogo Open Web Site. Navegue para a localidade que voc deseja copiar o projeto. No painel Source Web Site, selecione os arquivos para copiar e mova-os para o painel Remote Web Site, clicando no cone da seta direita. Clique em Copy Web Site para copiar o site da Web.

4. 5.

Um componente com Visual C# Walkthrough: criao


Componentes fornea reutilizveis cdigo sob a forma de objetos. conhecido como um aplicativo que usa cdigo um componente,, criando objetos e chamar suas propriedades e mtodos, um Cliente. Um cliente pode ou no pode estar no mesmo conjunto como um componente ele usa. Os seguintes procedimentos criar no entre si, de forma a ordem na qual voc realiz-las importante. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Criando o projeto Para criar a biblioteca de classes CDemoLib e o componente CDemo 1. No menu File, selecione New e Project Para abrir caixa New Project de dilogo. Selecione o Class Library modelo de projeto a partir da lista de Visual C# tipos de projeto, e digite CDemoLib na caixa Name.

Observao Sempre especifique o nome de um novo projeto ao cri-la. Isso define o espao para nome raiz, nome conjunto, e nome do projeto, e tambm garante que o componente padro ser no espao para nome correto. 2. No Solution Explorer, clique com o boto direito do mouse CDemoLib e selecione Properties a partir do menu de atalho. Observe que a Default namespace caixa contm CDemoLib. A raiz usado para qualificar os nomes dos componentes no conjunto. Por exemplo, se dois conjuntos de mdulos (assemblies) fornecer componentes nomeado CDemo, voc pode especificar seu CDemo componente usando
CDemoLib.CDemo

Feche a caixa de dilogo. 3. 4. A partir do Project menu, escolha Add Component. Na caixa Add New Item de dilogo, selecione Component Class e digite CDemo.cs na caixa Name. Clique Add para crate o componente. Um componente denominado CDemo adicionado sua biblioteca de classe. 5. No Solution Explorer, clique com o boto direito do mouse CDemo.cs e escolha View Code a partir do menu de atalho. Abre o editor de cdigo.

Visual Studio

53

Aviso imediatamente aps public partial class CDemo. o : Component Esta seo designa a classe da qual a classe herda. Por padro, um componente herda da classe Component fornecida pelo sistema. A Component classe fornece vrios recursos para o componente, incluindo a capacidade para usar designers. 6. No Solution Explorer, clique com o boto direito do mouse Class1.cs e escolha Delete. Isso exclui a classe padro que fornecido com a biblioteca de classes, como ele no ser ser usado nessa explicao passo a passo. No menu File, optar Save All por salvar o projeto.

7.

Adicionando Constructors e Destructors Construtores controlar a maneira como o componente foi inicializado; o Finalize mtodo controla a forma ele tears pressionada. Cdigo no construtor e o Finalize mtodo da CDemo classe mantm uma contagem do nmero de CDemo objetos em execuo no existncia. Para adicionar cdigo para o construtor e destruidor da classe CDemo 1. No total de ocorrncias de um nmero de identificao para cada instncia da CDemo classe, e. Adicione variveis de membros para manter uma execuo o Code Editor
public readonly int InstanceID; private static int NextInstanceID = 0; private static long ClassInstanceCount = 0;

Porque e NextInstanceID variveis de membros so declaradas static, eles existem somente no nvel de classe. o InstanceCount Todas as instncias do CDemo que acessar esses membros usar os mesmos locais de memria. Membros esttico sero inicializados na primeira vez a CDemo classe mencionado no cdigo. Isso pode ser a primeira vez um CDemo objeto criado, ou na primeira vez um dos membros esttico acessado. 2. Localizar public CDemo() e public CDemo(IContainer container), a construtores padro para a CDemo classe. No Visual C#, todos os construtores ter o mesmo nome que a classe. O componente pode ter vrios construtores, com parmetros diferentes, mas deve todas tero o mesmo nome que o componente.

Observao O nvel de acesso dos construtores determina os clientes sero capazes de criar instncias da classe. 3. Adicione o cdigo a public CDemo() Seguir para incrementar a contagem instncia quando um novo CDemo for criado, e para definir o nmero de identificao de instncia.

Observao Sempre adicionar seu cdigo aps a chamada para InitializeComponent. Nesse momento, os componentes constituintes ter sido inicializada.
4. InstanceID = NextInstanceID ++; ClassInstanceCount ++;

5.

Como um readonly membro, InstanceID pode ser definida somente no construtor.

Observao Usurios familiarizados com ser multithreading destacar bastante rightly que atribuir InstanceID e incrementando NextInstanceID deve ser uma operao atmico. Isso e outros problemas relacionados a

Visual Studio

54

segmentao est ilustrado no Um componente Multithreaded Simple com Visual C# Walkthrough: criao. 6. Adicione o seguinte mtodo depois do fim do construtor:
~CDemo() { ClassInstanceCount --; }

Este mtodo chamado e signified pelo caractere til (~) na frente do nome de classe. a destruidor, O gerenciador de memria chama o destruidor imediatamente antes ele finalmente reclaims memria ocupado pelo objeto CDemo. Ao implementar um destruidor voc pode executar limpeza apenas antes o componente removido da memria. No entanto, como voc poder ver posteriormente nessa explicao passo a passo, h bons motivos para recursos verso anterior. Adicionar uma propriedade classe A CDemo classe tem apenas uma propriedade, uma propriedade esttica que permite que o cliente para descobrir quantos CDemo objetos no esto na memria a qualquer dado momento. Mtodos podem ser criados no uma maneira semelhante. Para criar uma propriedade para a classe CDemo

Adicione a seguinte declarao propriedade classe CDemo, para permitir que clientes se recuperar o nmero de instncias do CDemo.
public static long InstanceCount { get { return ClassInstanceCount; } }

Teste o componente Para testar o componente, necessrio um projeto que o utiliza. Este projeto deve ser o primeiro projeto que inicia quando voc pressiona o boto Executar. Para adicionar o projeto cliente CDemoTest como o projeto de inicializao para a soluo 1. 2. 3. No menu File, aponte para Add e escolha New Project para abrir a Add New Project caixa de dilogo. Selecione o Windows Application modelo de projeto, digite CDemoTest na caixa Name e clique em OK. Na Solution Explorer, clique com o boto direito do mouse CDemoTest e clique na Set as Startup Project partir do menu de atalho.

Para usar o CDemo componente, o projeto teste cliente deve ter uma referncia para o projeto de biblioteca de classes. Aps adicionar a referncia, ele uma boa idia para adicionar uma using instruo ao aplicativo de teste para simplificar o uso de componente. Para adicionar uma referncia para o projeto de biblioteca de classes 1. Clique com boto direito no Solution Explorer, mouse no References n imediatamente abaixo CDemoTest, e selecione Add Reference a partir do menu de atalho. Na caixa Add Reference de dilogo, selecione a Projects guia. Clique duas vezes o CDemoLib projeto de biblioteca de classes. Aparecer CDemoLib sob o References n para o CDemoTest projeto. No Solution Explorer, clique com o boto direito do mouse Form1.cs e selecione View Code a partir do menu de atalho.

2. 3. 4.

Visual Studio

55

Ou seja, CDemoLib.CDemo adicionando a referncia CDemoLib, voc pode usar o nome totalmente qualificado do componente CDemo. Para adicionar uma usando instruo

Adicione a instruo a seguir using para a lista de using instrues na parte superior da para Form1. o Code Editor
using CDemoLib;

Adicionando a using instruo, voc pode omitir o nome da biblioteca, e consultar o tipo componente como CDemo. Voc agora criar e usar um programa de teste para testar o componente. Noes bsicas sobre vida til de objeto O CDemoTest programa ser ilustram vida til de objeto do .NET Framework, criando e liberar um grande nmero de CDemo objetos. Para adicionar cdigo para criar objetos e verso CDemo 1. 2. Clique Form1.cs[Design] para retornar para o designer. Arraste at a Form1 superfcie de design. e Button Um Timer na guia All Windows Forms do Toolbox O componente nonvisual Timer aparece em uma superfcie de design separadas abaixo do formulrio. 3. Clique duas vezes no cone do timer1 para criar um mtodo tratamento de eventos do evento do componente Tick timer1. Colocar o seguinte cdigo no mtodo tratamento de eventos.
this.Text = "CDemo instances: " + CDemo.InstanceCount;

Legenda do formulrio em cada escala do timer, exibir a contagem instncia atual para a CDemo classe. O nome de classe usado como um qualificador para a propriedade estticos InstanceCount no est h necessidade de criar uma instncia do CDemo para acessar um membro esttico. 4. Localizar o construtor para Form1 (public Form1(). e adicione o cdigo a seguir aps a chamada para InitializeComponent()),
timer1.Enabled = true;

Isso ir iniciar o cronmetro to logo o formulrio criado. 5. 6. Clique na Form1.cs [Design] guia para retornar para o designer. Clique duas vezes no Form1, para criar um mtodo tratamento de eventos para eventos do boto Click. o Button Colocar o seguinte cdigo no mtodo tratamento de eventos.
CDemo cd; int ct; for (ct = 0; ct < 1000; ct++) cd = new CDemo();

Esse cdigo pode aspecto estranhos para voc. Conforme cada instncia do CDemo criado, a instncia anterior ser liberado. Quando o for loop for feito, haver somente uma instncia do CDemo Esquerda. Quando o mtodo tratamento de eventos-sai, mesmo essa instncia ser lanado, porque a varivel cd sair do escopo. Como voc pode ter guessed j no acontecem bastante dessa maneira. Para executar e depurar o CDemoTest e CDemo projetos 1. Pressione F5 para iniciar a soluo.

Visual Studio

56

O projeto cliente for iniciado, e Form1 ser exibido. Observe que a legenda do formulrio exibe " 0 ". instncias CDemo: 2. Clique no boto. A legenda do formulrio deve exibir " 1000". instncias CDemo: As instncias de CDemo foram todos liberados pelo tempo procedimento tratamento de eventos do boto Click concludo. Por que no elas foi finalizado? Alm BRIEF, o gerenciador de memria finalizes objetos em segundo plano, com prioridade baixa. A prioridade apenas bumped backup se obtm o Sistema com memria insuficiente. Este lenta esquema coleo lixo permite a alocao Objeto muito rpida. 3. Clique no boto Mais vrias vezes, observando a legenda. Em algum momento, o nmero de instncias ir descartar inesperadamente Isso significa o gerenciador de memria que tem recuperou a memria de alguns dos objetos. Observao Se voc clicou mais de 10 vezes, e o nmero de CDemo instncias no tiver diminudo, talvez precise ajustar o cdigo de modo que ele usa mais memria. Fechar o formulrio para retornar ao ambiente de desenvolvimento, e aumentar o nmero de iteraes no for loop para 10000. Em seguida, execute o projeto novamente. 4. Repita a etapa 3. Voc obter farther neste momento antes o gerenciador de memria finalizes mais objetos. Na verdade, sempre que voc repita a etapa 3, voc provavelmente ser capaz para alocar mais CDemo objetos antes a memria etapas Gerenciador no. Isso porque mais e mais dos Visual Studio trocado Out, deixando mais espao para instncias de CDemo. 5. Fechar o formulrio para retornar ao ambiente de desenvolvimento.

Tarefas comuns usando marcas inteligentes em controles Forms Windows fazendo Walkthrough:
Como voc construir formulrios e controles para seu aplicativo do Windows Forms, h vrias tarefas voc executar repetidamente. Estes so alguns das tarefas realizadas normalmente voc encontrar:

Adicionar ou remover uma guia na uma TabControl. Encaixe um controle para seu pai. Alterar a orientao de um SplitContainer controle.

Para acelerar o desenvolvimento, muitos controles oferecem marcas inteligentes que so menus contextuais que permitem a voc para executar tarefas comuns como essas em um nico gesto em tempo de criao. Essas tarefas so chamados verbos de marca inteligente. Marcas inteligentes permanecem anexado a uma instncia de controle para sua vida til no designer e esto sempre disponveis. Tarefas ilustradas nesta explicao passo a passo incluem:

Criar um Projeto Windows Forms

Visual Studio

57

Usando marcas inteligentes Habilitando e desabilitando marcas inteligentes

Quando voc tiver terminado, voc ter uma compreenso da funo executado por esses recursos importantes layout. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Criando o projeto A primeira etapa para criar o projeto e configurar o formulrio. Para criar o projeto 1. Criar um projeto chamado " SmartTagsExample " aplicativo baseado no Windows. Para obter detalhes, consulte Como: Criar um projeto de aplicativos Windows. Selecione o formulrio no Windows Forms Designer.

2.

Usando marcas inteligentes Marcas inteligentes esto sempre em tempo de criao em controles que oferecemlos disponveis. Para usar marcas inteligentes 1. 2. Arraste at o formulrio. de um TabControl a Toolbox Observe o glifo de marca inteligente ( . o TabControl) que aparece na parte lateral do Clique o glifo de marca inteligente. No menu de atalho que aparece ao lado o glifo, selecione o Add Tab item. Observar se uma nova pgina guia foi adicionado ao TabControl. Arraste um TableLayoutPanel controle de at seu formulrio. o Toolbox Clique o glifo de marca inteligente. No menu de atalho que aparece ao lado o glifo, selecione o Add Column item. Observar que uma nova coluna ser adicionada para o TableLayoutPanel controle. Arraste um SplitContainer controle de at seu formulrio. o Toolbox Clique o glifo de marca inteligente. No menu de atalho que aparece ao lado o glifo, selecione o Horizontal splitter orientation item. Observar que a SplitContainer barra divisora do controle agora orientado horizontalmente.

3. 4.

5. 6.

Colees dos tipos padro com o DesignerSerializationVisibilityAttribute Serializing Walkthrough:


s vezes os controles personalizados ser expor uma coleo como uma propriedade. Essa explicao passo a passo demonstra como usar a DesignerSerializationVisibilityAttribute classe para controlar como uma coleo serializado em tempo de criao. Aplicar o Content valor a sua propriedade coleo garante que a propriedade ser ser serializado.

Visual Studio

58

Para copiar o cdigo contidas neste tpico como uma lista simples, consulte COMO: Serializar colees de tipos padro com o DesignerSerializationVisibilityAttribute. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Pr-requisitos A fim de concluir este explicao passo a passo, ser necessrio:

Permisses suficientes para poder para criar e executar projetos aplicativo do Windows Forms no computador onde o Visual Studio est instalado. Criar um controle que possui uma coleo Serializable

A primeira etapa consiste em criar um controle que tenha uma coleo Serializable como uma propriedade. Voc pode editar o contedo da coleo usando este que voc pode acessar a partir da Properties janela. o Collection Editor Para criar um controle com uma coleo Serializable 1. Criar um Projeto Biblioteca de Controle do Windows chamado SerializationDemoControlLib. Para obter mais informaes, consulte Modelo de Biblioteca de Controle do Windows. Renomear UserControl1 para SerializationDemoControl. Para obter mais informaes, consulte Renomear identificadores como:. Na janela Properties, defina o valor da propriedade System.Windows.Forms.Padding.All para 10. Coloca um TextBox controle no SerializationDemoControl. Selecione o TextBox controle. Na janela Properties, defina as propriedades a seguir. Alterar para true Fill Vertical true

2. 3. 4. 5.

Propriedade Multiline Dock ScrollBars ReadOnly 6.

Em declarar um campo denominado stringsValue na SerializationDemoControl matriz de seqncia. o Code Editor C#


// This field backs the Strings property. private String[] stringsValue = new String[1];

7.

Defina a Strings propriedade no SerializationDemoControl.

Observao O Content valor usado para ativar a serializao de coleo. C#

Visual Studio

59

// When the DesignerSerializationVisibility attribute has // a value of "Content" or "Visible" the designer will // serialize the property. This property can also be edited // at design time with a CollectionEditor. [DesignerSerializationVisibility( DesignerSerializationVisibility.Content )] public String[] Strings { get { return this.stringsValue; } set { this.stringsValue = value; // Populate the contained TextBox with the values // in the stringsValue array. StringBuilder sb = new StringBuilder(this.stringsValue.Length); for (int i = 0; i < this.stringsValue.Length; i++) { sb.Append(this.stringsValue[i]); sb.Append("\r\n"); } this.textBox1.Text = sb.ToString(); } }

Observao As seqncias que voc digitou aparecem na TextBox. do SerializationDemoControl A serializao uma propriedade da coleo Para testar o comportamento serializao do seu controle, voc ser colocar ele em um formulrio e alterar o contedo da coleo com o Collection Editor.. o Collection Editor Voc pode ver o estado coleo serializado olhando para um arquivo de designer especial, no qual cdigo emite. o Windows Forms Designer Para serializar uma coleo 1. Adicionar um projeto do Aplicativo do Windows soluo. Para obter mais informaes, consulte Caixa de dilogo Add New Project. Nome do projeto SerializationDemoControlTest. Na Toolbox, localizao na guia chamado SerializationDemoControlLib Components. Em nessa guia, voc encontrar o SerializationDemoControl. Para obter mais informaes, consulte A caixa de ferramentas com Components personalizado Walkthrough: Populating automaticamente. Local em seu formulrio. um SerializationDemoControl Localizar a Strings propriedade na janela Properties. Clique a Strings propriedade, na elipse seguida, clique no String Collection Editor. ( boto para abrir Digitar vrias seqncias no String Collection Editor. Separe-os, pressionando a tecla ENTER no final de cada seqncia. Clique em OK Quando voc tiver terminado inserir seqncias. )

2.

3. 4.

5.

Observao As seqncias que voc digitou aparecem na TextBox. do SerializationDemoControl 1. 2. No Solution Explorer, clique no Show All Files boto. Abra o Form1 n. Beneath um arquivo chamado Form1.Designer.cs ou Form1.Designer.vb. Este o arquivo no qual emite cdigo que representa o estado de seu formulrio e seus controles filho Design-time. o Windows Forms Designer Abrir este arquivo no Code Editor. Abra a regio denominada Windows Form Designer generated code e localize a seo rotulada serializationDemoControl1. Sob este rtulo o cdigo que representa o estado de seu controle serializado. As seqncias voc digitou na etapa 5 aparecem em uma atribuio para a Strings propriedade. O exemplo de cdigo a seguir mostra um cdigo semelhante ao que ser exibida se voc digitado seqncias " red ", " laranjas ", e " Amarelo ".

3.

Visual Studio

60

C#
this.serializationDemoControl1.Strings = new string[] { "red", "orange", "yellow"};

C#
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

Observao Nesse caso, emite nenhuma atribuio para a Strings propriedade. o Windows Forms Designer Prximas etapas Depois que voc sabe como serializar uma coleo de tipos padro, considere integrar os controles personalizados mais profundamente para o ambiente em tempo de criao. Os tpicos a seguir descrevem como aprimorar a integrao em tempo de criao do seu controles personalizados:

Arquitetura Design-time Atributos do Windows Forms controles Viso geral da serializao designer Criando um controle do Windows Forms que Takes Advantage dos recursos de tempo de design visual studio Walkthrough:

Walkthrough: depurao controles Forms do Windows personalizados em tempo de design


Quando voc cria um controle personalizado, voc geralmente achar necessrio para depurar seu comportamento em tempo de criao. Isso especialmente verdadeiro se voc estiver criando um designer personalizado para o controle personalizado. Para obter detalhes, consulte Criando um controle do Windows Forms que Takes Advantage dos recursos de tempo de design visual studio Walkthrough:. Voc pode depurar os controles personalizados usando o Visual Studio, exatamente como voc deseja depurar as outras classes .NET Framework. A diferena que voc ir depurar uma instncia separada do Visual Studio que esteja executando cdigo do seu controle personalizado Tarefas ilustradas nesta explicao passo a passo incluem:

Criar um Projeto Windows Forms para hospedar o controle personalizado Criar um Projeto Biblioteca de Controle Adicionar uma propriedade a seu controle personalizado Adicionando o controle personalizado ao formulrio host Como configurar o projeto para design-time depurao Depurao seu controle personalizado em tempo de criao

Quando voc tiver terminado, voc ter uma compreenso das tarefas necessrias para depurao o comportamento em tempo de criao de um controle personalizado.

Visual Studio

61

Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Criando o projeto A primeira etapa consiste em criar o projeto de aplicativo. Voc usar este projeto para criar o aplicativo que hospeda o controle personalizado. Para criar o projeto

Criar um projeto do Aplicativo do Windows chamado " DebuggingExample ". Para obter detalhes, consulte Como: Criar um projeto de aplicativos Windows. Criar um Projeto Biblioteca de Controle

A prxima etapa para criar o projeto Biblioteca de Controle e configurar o controle personalizado. Para criar o projeto Biblioteca de Controle 1. Adicione um Windows Control Library projeto para a soluo. Para obter detalhes, consulte Caixa de dilogo Add New Project. Nome do projeto " DebugControlLibrary ". Adicionar um novo UserControl item para o projeto DebugControlLibrary. Para obter detalhes, consulte Como: Adicionar novos itens de projeto. D o novo arquivo de origem uma nome de base de " DebugControl ". Usando a Solution Explorer, excluso, excluindo o arquivo com um nome de base de cdigo padro do projeto controlar " " UserControl1. Para obter detalhes, consulte COMO: Remover, excluir, e excluir itens. Compilar uma soluo.

2.

3.

4.

Ponto de Verificao Neste ponto, voc ser capaz para ver o controle personalizado no Toolbox. Para verificar o seu andamento

Localizar o nova guia chamada DebugControlLibrary Components e clique para selecion-lo. Ao ser aberto, voc ver seu controle listados como DebugControl com o cone padro ao lado dela. Adicionar uma propriedade ao seu controle personalizado

Para demonstrar que o controle personalizado na cdigo sendo executado em tempo de criao, ser adicionar uma propriedade e definir um ponto de interrupo no cdigo que implementa a propriedade. Para adicionar uma propriedade ao seu controle personalizado 1. Aberto DebugControl no Code Editor. Adicione o seguinte cdigo para a definio de classe: C#
private string demoStringValue = null; [Browsable(true)] public string DemoString { get

Visual Studio

62

{ return this.demoStringValue; } set { demoStringValue = value; } }

2.

Compilar uma soluo.

Adicionando seu controle personalizado ao formulrio host Para depurar o comportamento em tempo de criao do seu controle personalizado, voc ir colocar uma instncia da classe controle personalizado em um formulrio host. Para adicionar o controle personalizado ao formulrio host 1. 2. 3. No projeto " DebuggingExample ", abra Form1 no Windows Forms Designer. Na Toolbox, abra a DebugControlLibrary Components guia e arraste uma DebugControl instncia para o formulrio. Localizar a DemoString propriedade personalizada na janela Properties. Observao que voc pode alterar seu valor como voc faria qualquer outra propriedade. Tambm Observe que quando a DemoString propriedade est selecionada, seqncia de caracteres de descrio da propriedade aparece na parte inferior da janela Properties.

Configurando o Project para depurao de tempo de design Voc para depurar comportamento em tempo de criao do seu controle personalizado, ser depurar uma instncia separada do Visual Studio que esteja executando cdigo do seu controle personalizado. Para configurar o projeto para design-time depurao 1. 2. Clique com o boto direito do mouse no projeto DebugControlLibrary no e selecione Properties. o Solution Explorer Na folha DebugControlLibrary de propriedades, selecione a Debug guia. Na seo Start Action, marque Start external program. No ser depurao uma instncia separada do Visual Studio, portanto clique a elipse. ( ) boto para procurar por Visual Studio IDE O nome do arquivo executvel devenv.exe, e se voc instalado para o local padro, seu caminho ser " 8\Common7\IDE\devenv.exe Visual Studio C:\Program Files\Microsoft ". 3. 4. Clique OK para fechar a caixa de dilogo. Clique com o boto direito do mouse o DebugControlLibrary projeto e selecione Set as StartUp Project Para ativar essa configurao de depurao.

Depurao seu controle personalizado em tempo de design Agora voc est pronto para depurar o controle personalizado medida que ele executado em modo de design. Quando voc iniciar a sesso de depurao, ser criada uma nova instncia do Visual Studio, e ir us-lo para carregar a soluo " DebuggingExample ". Quando voc abre Form1 em uma instncia do seu controle personalizado ser criado e ser iniciado executando. o Forms Designer Para depurar o controle personalizado em tempo de criao 1. Abrir o DebugControl arquivo de origem no e colocar um ponto de interrupo no Set acessador da propriedade DemoString. o Code Editor

Visual Studio

63

2.

Pressione F5 para iniciar a sesso de depurao. Observe que uma nova instncia do Visual Studio criado. Voc pode distinguir entre as instncias de duas maneiras: A instncia de depurao tem a palavra Running em sua barra de ttulo A instncia de depurao tem o Start Boto em sua Debug barra de ferramentas desativado O ponto de interrupo definido na instncia de depurao. Na nova instncia do Visual Studio, abra a soluo " DebuggingExample ". A soluo voc pode localizar facilmente selecionando Recent Projects no File menu. O arquivo soluo " DebuggingExample.sln " ser listado como o arquivo mais recentemente usado. Abrir Form1 em e selecione o DebugControl controle. o Forms Designer Alterar o valor da propriedade DemoString. Observe que quando voc confirmar a alterao, a instncia de depurao do Visual Studio obtm foco e a execuo pra em seu ponto de interrupo. Voc pode passo nico atravs o acessador Propriedade exatamente como. seria qualquer outro cdigo seu Quando voc tiver terminado com a sesso de depurao, voc pode sair, descartando a instncia do Visual Studio hospedado ou clicando no Stop Debugging boto na instncia de depurao.

o o

3.

4. 5.

6.

Prximas etapas Agora que voc pode depurar os controles personalizados em tempo de criao, existem muitas possibilidades para expandir o controle na interao com o Visual Studio IDE.

Voc pode usar a DesignMode propriedade da classe Component para escrever cdigo que ser executada apenas em tempo de criao Para obter detalhes, consulte DesignMode. H vrios atributos voc pode aplicar a propriedades seu controle para manipular o controle personalizado na interao com o designer. Voc pode encontrar esses atributos no espao para nome System.ComponentModel. Voc pode escrever um designer personalizado para o controle personalizado. Isso permite total controle sobre a experincia de design usando a infra-estrutura extensvel Designer expostos pelo Visual Studio. Para obter detalhes, consulte Criando um controle do Windows Forms que Takes Advantage dos recursos de tempo de design visual studio Walkthrough:.

Criando um controle do Windows Forms que Takes Advantage dos recursos de tempo de design visual studio Walkthrough:
A experincia em tempo de design para um controle personalizado pode ser aperfeioada pela criao um designer personalizado associado. Essa explicao passo a passo ilustra como criar um designer personalizado para um controle personalizado. Voc ir implementar um MarqueeControl tipo e uma classe designer associado, chamado MarqueeControlRootDesigner. O MarqueeControl tipo implementa uma exibio semelhante a um letreiro digital theater, com luzes animado e texto flashing.

Visual Studio

64

O designer para este controle interage com o ambiente de design para fornecer uma experincia Design-time personalizado. Com o designer personalizado, voc pode montar uma implementao personalizada MarqueeControl com luzes animado e flashing texto em vrias combinaes. Voc pode usar o controle montado em um formulrio como qualquer outro controle Windows Forms. Tarefas ilustradas nesta explicao passo a passo incluem:

Criando o projeto Criar um Projeto Biblioteca de Controle Referncia a Project controle personalizado Definir um controle personalizado e seus designer personalizado Criando uma instncia de seu controle personalizado Configurando o Project para depurao de tempo de design Implementar O controle personalizado Criando um controle filho para O controle personalizado Criar o controle filho MarqueeBorder Criando um designer personalizado para sombra e propriedades de filtro Tratamento alteraes componente Adicionando verbos criador ao seu designer personalizado Criando um UITypeEditor personalizada Testando o controle personalizado no criador

Quando voc tiver terminado, o controle personalizado ser algo como o seguinte aspecto:

Para a listagem cdigo completo, consulte COMO: Criar um controle de formulrios do Windows que tira vantagem de recursos em tempo de criao. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Pr-requisitos A fim de concluir este explicao passo a passo, ser necessrio:

Permisses suficientes para poder para criar e executar projetos aplicativo do Windows Forms no computador onde o Visual Studio est instalado. Criando o projeto

Visual Studio

65

A primeira etapa consiste em criar o projeto de aplicativo. Voc usar este projeto para criar o aplicativo que hospeda o controle personalizado. Para criar o projeto

Criar um projeto do Aplicativo do Windows chamado " MarqueeControlTest ". Para obter mais informaes, consulte Como: Criar um projeto de aplicativos Windows. Criar um Projeto Biblioteca de Controle

A prxima etapa consiste em criar o projeto Biblioteca de Controle. Voc criar um novo controle personalizado e seu designer personalizado correspondente. Para criar o projeto Biblioteca de Controle 1. Adicione um projeto Biblioteca de Controle do Windows para a soluo. Para obter mais informaes, consulte Caixa de dilogo Add New Project. Nome do projeto " MarqueeControlLibrary ". Usando Solution Explorer, Excluir controle padro do projeto, excluir o arquivo de origem nomeado " UserControl1.cs " ou " UserControl1.vb ", acordo com o idioma de escolha. Para obter mais informaes, consulte COMO: Remover, excluir, e excluir itens. Adicionar um novo UserControl item para o MarqueeControlLibrary projeto. Dar o novo arquivo de origem uma nome de base de " MarqueeControl ". Usando Solution Explorer, criar uma nova pasta no projeto MarqueeControlLibrary. Para obter mais informaes, consulte Como: Adicionar novos itens de projeto.Nomeie a nova pasta " Design ". Clique com o boto direito do mouse na Design pasta e adicionar uma nova classe. Fornecer o arquivo de origem uma nome de base de " MarqueeControlRootDesigner ". Ser necessrio para usar tipos de montagem System.Design, ento adicionar essa referncia para o MarqueeControlTest projeto. Para obter mais informaes, consulte COMO: Adicionar e remover referncias no Visual Studio (C#, J#).

2.

3.

4.

5.

6.

Referncia a Project controle personalizado Voc usar o MarqueeControlTest projeto para testar o controle personalizado. O projeto teste tornar conhecer o controle personalizado quando voc adiciona uma referncia ao conjunto MarqueeControlLibrary Projeto. Para fazer referncia o projeto de controle personalizado

No projeto MarqueeControlTest, adicione uma referncia ao conjunto MarqueeControlLibrary Projeto. Certifique-se de usar a Projects guia na caixa Add Reference de dilogo em vez de referncia montagem MarqueeControlLibrary diretamente. Definir um controle personalizado e seus designer personalizado

O controle personalizado ser derivar a partir da UserControl classe. Isso permite que o controle para conter outros controles, e ele fornece o controle uma grande quantidade de funcionalidade padro. O controle personalizado no ter um designer personalizado associado. Isso permite que voc para criar uma experincia design exclusivo adequado especificamente para o controle personalizado.

Visual Studio

66

Voc associar o controle ao seu designer, usando a DesignerAttribute classe. O designer personalizado porque voc estiver desenvolvendo o comportamento Design-time inteiro do seu controle personalizado, ser implementa a IRootDesigner interface. Para definir um controle personalizado e seu designer personalizado 1. Abrir o MarqueeControl arquivo de origem no Code Editor. Na parte superior do arquivo, importar os espaos para nome a seguir: C#
using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design;

2.

Adicionar a declarao da MarqueeControl Classe. o DesignerAttribute Isto associa o controle personalizado com seu designer. C#
[Designer( typeof( MarqueeControlLibrary.Design.MarqueeControlRootDesigner ), typeof( IRootDesigner ) )] public class MarqueeControl : UserControl {

3.

Abrir o MarqueeControlRootDesigner arquivo de origem no Code Editor. Na parte superior do arquivo, importar os espaos para nome a seguir: C#
using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.Design;

4.

Coloque a definio para a MarqueeControlRootDesigner classe entre um espao para nome chamado " MarqueeControlLibrary.Design ". Esta Declarao coloca o designer em um espao para nome especial reservado para tipos relacionados design-. Alm disso, alterar da declarao do MarqueeControlRootDesigner para herdar da classe DocumentDesigner. C#
namespace MarqueeControlLibrary.Design { [ToolboxItemFilter("MarqueeControlLibrary.MarqueeBorder", ToolboxItemFilterType.Require)] [ToolboxItemFilter("MarqueeControlLibrary.MarqueeText", ToolboxItemFilterType.Require)] [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Deman d, Name = "FullTrust")] public class MarqueeControlRootDesigner : DocumentDesigner {

5.

Definir o construtor para a MarqueeControlRootDesigner classe. Inserir uma WriteLine instruo no corpo construtor. Este ser til para fins de depurao. C#
public MarqueeControlRootDesigner() { Trace.WriteLine("MarqueeControlRootDesigner ctor"); }

Criando uma instncia de seu controle personalizado Para observar o comportamento em tempo de design personalizado do seu controle, voc ir colocar uma instncia do seu controle no formulrio no MarqueeControlTest projeto.

Visual Studio

67

Para criar uma instncia de seu controle personalizado 1. Adicionar um novo UserControl item para o MarqueeControlTest projeto. Dar o novo arquivo de origem uma nome de base de " DemoMarqueeControl ". Na parte superior do arquivo, importar espao para nome MarqueeControlLibrary: Visual Basic
Imports MarqueeControlLibrary using MarqueeControlLibrary;

2.

3.

Alterar da declarao do DemoMarqueeControl para herdam a


MarqueeControl classe.

Visual Basic
Public Class DemoMarqueeControl Inherits MarqueeControl public class DemoMarqueeControl : MarqueeControl

4. 5. 6. 7.

Criar o projeto. Aberto Form1 no Windows Forms Designer. Localizar na guia " Meus Controles de usurio " na e abri-lo. o Toolbox Arraste at o formulrio. de um DemoMarqueeControl a Toolbox Criar o projeto.

Configurando o Project para depurao de tempo de design Quando voc estiver desenvolvendo uma experincia Design-time personalizado, ele ser necessrio para depurar o controles e componentes. No uma maneira simples para instalar o seu projeto para permitir a depurao em tempo de criao. Para obter mais informaes, consulte Walkthrough: depurao controles Forms do Windows personalizados em tempo de design. Para configurar o projeto para design-time depurao 1. 2. 3. Clique com o boto direito do mouse o MarqueeControlLibrary projeto e selecione Properties. Na caixa de dilogo ' pginas Propriedades MarqueeControlLibrary ', selecione a Configuration Properties pgina. Na seo Start Action, marque Start External Program. No ser depurao uma instncia separada do Visual Studio, portanto clique a elipse. ( ) boto para procurar por Visual Studio IDE O nome do arquivo executvel devenv.exe, e se voc instalado para o local padro, seu caminho ser " .NET\Common7\IDE\devenv.exe Visual Studio C:\Program Files\Microsoft. " Clique OK para fechar a caixa de dilogo. Clique com o boto direito do mouse o MarqueeControlLibrary projeto e selecione Definir como Projeto iniciar para ativar essa configurao de depurao " ".

4. 5.

Ponto de Verificao Voc est pronto para depurar o comportamento em tempo de criao do seu controle personalizado. Aps voc ter determinado se o ambiente de depurao est configurada corretamente, voc testar a associao entre o controle personalizado e o designer personalizado. Para testar o ambiente de depurao e a associao de designer

Visual Studio

68

1. 2. 3.

Abrir o MarqueeControlRootDesigner arquivo de origem no e coloque um ponto de interrupo na instruo WriteLine. o Code Editor Pressione F5 para iniciar a sesso de depurao. Observe que uma nova instncia do Visual Studio criado. Na nova instncia do Visual Studio, abra a soluo " MarqueeControlTest ". A soluo voc pode localizar facilmente selecionando Recent Projects no File menu. O arquivo soluo " MarqueeControlTest.sln " ser listado como o arquivo mais recentemente usado. Aberto no designer. o DemoMarqueeControl Observe que a instncia de depurao do Visual Studio obtm foco e a execuo pra em seu ponto de interrupo. Pressione F5 para continuar a sesso de depurao.

4.

Neste ponto, tudo est no lugar para que voc possa desenvolver e depurar o controle personalizado e seu designer personalizado associado. Se o restante dessa explicao passo a passo ser concentrar nos detalhes da implementao recursos do controle e o criador. Implementar O controle personalizado O MarqueeControl com um pouco de personalizao. um UserControl Ela expe dois mtodos: Start, que inicia a animao Letreiro digital, e Stop, que interrompe a animao. Porque e StopMarquee mtodos, respectivamente, em cada filho controlar que implementa IMarqueeWidget. contm controles filho que implementa a IMarqueeWidget interface, Start e Stop Enumerar cada controle filho e chamada ao
MarqueeControlStartMarquee

A aparncia do e MarqueeText controles dependente para o layout, ento MarqueeControl substitui o OnLayout mtodo e chama PerformLayout em controles filho desse tipo. o MarqueeBorder Isso a extenso das personalizaes MarqueeControl. Os recursos de tempo de execuo so implementadas pelo e MarqueeControlRootDesigner Classes. e MarqueeText controles, e os recursos em tempo de criao so implementadas pelo MarqueeBorder o MarqueeBorderDesigner Para implementar o Controle Personalizado 1. Abrir o MarqueeControl arquivo de origem no Code Editor. Implementar e Stop Mtodos. o Start C#
public void Start() { // The MarqueeControl may contain any number of // controls that implement IMarqueeWidget, so // find each IMarqueeWidget child and call its // StartMarquee method. foreach( Control cntrl in this.Controls ) { if( cntrl is IMarqueeWidget ) { IMarqueeWidget widget = cntrl as IMarqueeWidget; widget.StartMarquee(); } } } public void Stop() { // The MarqueeControl may contain any number of // controls that implement IMarqueeWidget, so find // each IMarqueeWidget child and call its StopMarquee // method. foreach( Control cntrl in this.Controls ) { if( cntrl is IMarqueeWidget ) { IMarqueeWidget widget = cntrl as IMarqueeWidget; widget.StopMarquee(); } } }

2.

Substituir o OnLayout mtodo. C#


protected override void OnLayout(LayoutEventArgs levent) { base.OnLayout (levent); // Repaint all IMarqueeWidget children if the layout // has changed. foreach( Control cntrl in this.Controls ) { if( cntrl is IMarqueeWidget ) { Control control = cntrl as Control; control.PerformLayout(); } } }

Visual Studio

69

Criando um controle filho para O controle personalizado O MarqueeControl: o MarqueeBorder controle e o MarqueeText controle. hospedar dois tipos de controle filho
MarqueeBorder esse controle pinta uma borda de " luz " ao redor suas bordas.

O memria flash luzes em seqncia, para que eles apaream para ser mover-se a borda. A velocidade na qual o memria flash luzes controlada pela propriedade chamado UpdatePeriod. Vrias outras propriedades personalizadas determinar outros aspectos da aparncia do controle. Dois mtodos, chamado StartMarquee e StopMarquee, controle quando a animao inicia e interrompe.
MarqueeText esse controle pinta uma seqncia flashing. Como o MarqueeBorder controle, a velocidade na qual o texto pisca controlada pela propriedade UpdatePeriod. O MarqueeText controle tem tambm e StopMarquee mtodos em comum com o MarqueeBorder controle. o StartMarquee

Em tempo de criao, em qualquer combinao. permite esses tipos dois controle a ser adicionado MarqueeControlRootDesigner uma MarqueeControl Recursos comuns dos dois controles so factored em uma interface denominada IMarqueeWidget. Isso permite para descobrir os controles filho relacionados MARQUEE-e conceda a eles Tratamento especial. o MarqueeControl Para implementar o recurso animao peridicos, voc ir usar BackgroundWorker objetos de espao para nome System.ComponentModel. Voc pode usar Timer objetos, mas quando vrios IMarqueeWidget objetos esto presentes, o segmento de UI nico pode ser impossvel acompanhar a animao. Para criar um controle filho para o controle personalizado 1. 2. Adicionar um novo item classe ao projeto MarqueeControlLibrary. Dar o novo arquivo de origem uma nome de base de " IMarqueeWidget ". Abrir o IMarqueeWidget arquivo de origem no e alterar a declarao de class para interface: o Code Editor C#
// This interface defines the contract for any class that is to // be used in constructing a MarqueeControl. public interface IMarqueeWidget {

3.

Adicione o seguinte cdigo para a IMarqueeWidget interface para expor dois mtodos e uma propriedade que manipulam a animao Letreiro digital: C#
// This interface defines the contract for any class that is to // be used in constructing a MarqueeControl. public interface IMarqueeWidget { // This method starts the animation. If the control can // contain other classes that implement IMarqueeWidget as // children, the control should call StartMarquee on all // its IMarqueeWidget child controls. void StartMarquee(); // This method stops the animation. If the control can // contain other classes that implement IMarqueeWidget as // children, the control should call StopMarquee on all // its IMarqueeWidget child controls.

Visual Studio

70

void StopMarquee(); // This method specifies the refresh rate for the animation, // in milliseconds. int UpdatePeriod { get; set; } }

4.

Adicionar um novo UserControl item para o MarqueeControlLibrary projeto. Dar o novo arquivo de origem uma nome de base de " MarqueeText ". Arraste um BackgroundWorker componente de at seu MarqueeText controle. o Toolbox Esse componente permitir que o MarqueeText controle para atualizar prprio assincronamente. Na janela Propriedades, defina as BackgroundWorker propriedades para true e WorkerSupportsCancellation do componente WorkerReportsProgess. Essas configuraes permitem que o BackgroundWorker Componente para aumentar o ProgressChanged evento periodicamente e para cancelar Atualizaes assncronas. Para obter mais informaes, consulte Componente BackgroundWorker. Abrir o MarqueeText arquivo de origem no Code Editor. Na parte superior do arquivo, importar os espaos para nome a seguir: C#
using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Drawing; using System.Threading; using System.Windows.Forms; using System.Windows.Forms.Design;

5.

6.

7.

8.

Alterar da declarao do MarqueeText para herdar de Label e para implementar a IMarqueeWidget interface: C#
[ToolboxItemFilter("MarqueeControlLibrary.MarqueeText", ToolboxItemFilterType.Require)] public class MarqueeText : Label, IMarqueeWidget {

9.

Declare as variveis que correspondem s propriedades expostos, instncia e inicializar-los no construtor. O isLit campo determina se o texto est para ser pintura com a cor determinado pela LightColor propriedade. C#
// When isLit is true, the text is painted in the light color; // When isLit is false, the text is painted in the dark color. // This value changes whenever the BackgroundWorker component // raises the ProgressChanged event. private bool isLit = true; // These fields back the public properties. private int updatePeriodValue = 50; private Color lightColorValue; private Color darkColorValue; // These brushes are used to paint the light and dark // colors of the text. private Brush lightBrush; private Brush darkBrush; // This component updates the control asynchronously. private BackgroundWorker backgroundWorker1; public MarqueeText() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Initialize light and dark colors // to the control's default values. this.lightColorValue = this.ForeColor; this.darkColorValue = this.BackColor; this.lightBrush = new SolidBrush(this.lightColorValue); this.darkBrush = new SolidBrush(this.darkColorValue); }

10. Implementa a IMarqueeWidget interface.

Visual Studio

71

O StartMarquee e StopMarquee chamar mtodos do componente RunWorkerAsync e BackgroundWorkerCancelAsync mtodos para iniciar e parar a animao. O Category e Browsable atributos so aplicadas para a UpdatePeriod propriedade para ele aparea em uma seo personalizado da janela Propriedades chamada " digital ". C#
public virtual void StartMarquee() { // Start the updating thread and pass it the UpdatePeriod. this.backgroundWorker1.RunWorkerAsync(this.UpdatePeriod); } public virtual void StopMarquee() { // Stop the updating thread. this.backgroundWorker1.CancelAsync(); } [Category("Marquee")] [Browsable(true)] public int UpdatePeriod { get { return this.updatePeriodValue; } set { if (value > 0) { this.updatePeriodValue = value; } else { throw new ArgumentOutOfRangeException("UpdatePeriod", "must be > 0"); } } }

11. Implementar a assessores Propriedade. Voc ir expor duas propriedades aos clientes: LightColor e DarkColor. O Category e Browsable atributos so aplicados a essas propriedades, para as propriedades apaream em uma seo personalizado da janela Propriedades chamada " digital ". C#
[Category("Marquee")] [Browsable(true)] public Color LightColor { get { return this.lightColorValue; } set { // The LightColor property is only changed if the // client provides a different value. Comparing values // from the ToArgb method is the recommended test for // equality between Color structs. if (this.lightColorValue.ToArgb() != value.ToArgb()) { this.lightColorValue = value; this.lightBrush = new SolidBrush(value); } } } [Category("Marquee")] [Browsable(true)] public Color DarkColor { get { return this.darkColorValue; } set { // The DarkColor property is only changed if the // client provides a different value. Comparing values // from the ToArgb method is the recommended test for // equality between Color structs. if (this.darkColorValue.ToArgb() != value.ToArgb()) { this.darkColorValue = value; this.darkBrush = new SolidBrush(value); } } }

12. Implementar os manipuladores para o BackgroundWorker componente na DoWork e ProgressChanged eventos. O DoWork manipulador de eventos sleeps para o nmero de milissegundos especificado pelo UpdatePeriod raises depois o ProgressChanged evento, at parar a animao ao chamar CancelAsync seu cdigo. O ProgressChanged manipulador de eventos alterna o texto entre seu estado para dar a aparncia de flashing claras e escuras. C#
// This method is called in the worker thread's context, // so it must not make any calls into the MarqueeText control. // Instead, it communicates to the control using the // ProgressChanged event. // // The only work done in this event handler is // to sleep for the number of milliseconds specified // by UpdatePeriod, then raise the ProgressChanged event. private void backgroundWorker1_DoWork( object sender, System.ComponentModel.DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; // This event handler will run until the client cancels // the background task by calling CancelAsync. while (!worker.CancellationPending) { // The Argument property of the DoWorkEventArgs // object holds the value of UpdatePeriod, which // was passed as the argument to the RunWorkerAsync //

Visual Studio

72

method. Thread.Sleep((int)e.Argument); // The DoWork eventhandler does not actually report // progress; the ReportProgress event is used to // periodically alert the control to update its state. worker.ReportProgress(0); } } // The ProgressChanged event is raised by the DoWork method. // This event handler does work that is internal to the // control. In this case, the text is toggled between its // light and dark state, and the control is told to // repaint itself. private void backgroundWorker1_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e) { this.isLit = !this.isLit; this.Refresh(); }

13. Substituir o OnPaint mtodo para ativar a animao. C#


protected override void OnPaint(PaintEventArgs e) { // The text is painted in the light or dark color, // depending on the current value of isLit. this.ForeColor = this.isLit ? this.lightColorValue : this.darkColorValue; base.OnPaint(e); }

Criar o controle filho MarqueeBorder O MarqueeBorder controle um pouco mais sofisticado que o MarqueeText controle. Ele tem mais propriedades e a animao no mtodo OnPaint est mais envolvido. Em princpio, ele bastante semelhante ao controle MarqueeBorder. Porque o MarqueeBorder controle pode ter controles filho, ele precisar estar ciente de Layout eventos. Para criar o controle MarqueeBorder 1. Adicionar um novo UserControl item para o MarqueeControlLibrary projeto. Dar o novo arquivo de origem uma nome de base de " MarqueeBorder ". Arraste um BackgroundWorker componente de at seu MarqueeBorder controle. o Toolbox Esse componente permitir que o MarqueeBorder controle para atualizar prprio assincronamente. Na janela Propriedades, defina as BackgroundWorker propriedades para true e WorkerSupportsCancellation do componente WorkerReportsProgess. Essas configuraes permitem que o BackgroundWorker Componente para aumentar o ProgressChanged evento periodicamente e para cancelar Atualizaes assncronas. Para obter mais informaes, consulte Componente BackgroundWorker. Abrir o MarqueeBorder arquivo de origem no Code Editor. Na parte superior do arquivo, importar os espaos para nome a seguir: C#
using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Drawing; using System.Drawing.Design; using System.Threading; using System.Windows.Forms; using System.Windows.Forms.Design;

2.

3.

4.

5.

IMarqueeWidget interface.

Alterar da declarao da MarqueeBorder Herdar do Panel e para implementar a

C#
[Designer(typeof(MarqueeControlLibrary.Design.MarqueeBorderDesigner ))] [ToolboxItemFilter("MarqueeControlLibrary.MarqueeBorder", ToolboxItemFilterType.Require)] public class MarqueeBorder : Panel, IMarqueeWidget {

Visual Studio

73

6.

Declarar dois enumeraes de gerenciamento de estado do MarqueeBorder controle: MarqueeSpinDirection, que determina a direo na qual as luzes " girar " ao redor da borda, e MarqueeLightShape, que determina a forma das luzes (quadrado ou circular). Coloque essas declaraes antes declarao da MarqueeBorder classe. C#
// This defines the possible values for the MarqueeBorder // control's SpinDirection property. public enum MarqueeSpinDirection { CW, CCW } // This defines the possible values for the MarqueeBorder // control's LightShape property. public enum MarqueeLightShape { Square, Circle }

7.

Declare as variveis que correspondem s propriedades expostos, instncia e inicializar-los no construtor. C#


public static int MaxLightSize = 10; // These fields back the public properties. private int updatePeriodValue = 50; private int lightSizeValue = 5; private int lightPeriodValue = 3; private int lightSpacingValue = 1; private Color lightColorValue; private Color darkColorValue; private MarqueeSpinDirection spinDirectionValue = MarqueeSpinDirection.CW; private MarqueeLightShape lightShapeValue = MarqueeLightShape.Square; // These brushes are used to paint the light and dark // colors of the marquee lights. private Brush lightBrush; private Brush darkBrush; // This field tracks the progress of the "first" light as it // "travels" around the marquee border. private int currentOffset = 0; // This component updates the control asynchronously. private System.ComponentModel.BackgroundWorker backgroundWorker1; public MarqueeBorder() { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Initialize light and dark colors // to the control's default values. this.lightColorValue = this.ForeColor; this.darkColorValue = this.BackColor; this.lightBrush = new SolidBrush(this.lightColorValue); this.darkBrush = new SolidBrush(this.darkColorValue); // The MarqueeBorder control manages its own padding, // because it requires that any contained controls do // not overlap any of the marquee lights. int pad = 2 * (this.lightSizeValue + this.lightSpacingValue); this.Padding = new Padding(pad, pad, pad, pad); SetStyle(ControlStyles.OptimizedDoubleBuffer, true); }

8.

Implementa a IMarqueeWidget interface. O StartMarquee e StopMarquee chamar mtodos do componente RunWorkerAsync e BackgroundWorkerCancelAsync mtodos para iniciar e parar a animao. Como o MarqueeBorder controle pode conter controles filho, o StartMarquee mtodo enumera todos os controles filho e chama StartMarquee naqueles que implementam IMarqueeWidget. O StopMarquee mtodo tem uma implementao semelhante. C#
public virtual void StartMarquee() { // The MarqueeBorder control may contain any number of // controls that implement IMarqueeWidget, so find // each IMarqueeWidget child and call its StartMarquee // method. foreach (Control cntrl in this.Controls) { if (cntrl is IMarqueeWidget) { IMarqueeWidget widget = cntrl as IMarqueeWidget; widget.StartMarquee(); } } // Start the updating thread and pass it the UpdatePeriod. this.backgroundWorker1.RunWorkerAsync(this.UpdatePeriod); } public virtual void

Visual Studio

74

StopMarquee() { // The MarqueeBorder control may contain any number of // controls that implement IMarqueeWidget, so find // each IMarqueeWidget child and call its StopMarquee // method. foreach (Control cntrl in this.Controls) { if (cntrl is IMarqueeWidget) { IMarqueeWidget widget = cntrl as IMarqueeWidget; widget.StopMarquee(); } } // Stop the updating thread. this.backgroundWorker1.CancelAsync(); } [Category("Marquee")] [Browsable(true)] public virtual int UpdatePeriod { get { return this.updatePeriodValue; } set { if (value > 0) { this.updatePeriodValue = value; } else { throw new ArgumentOutOfRangeException("UpdatePeriod", "must be > 0"); } } }

Implementar a assessores Propriedade. O MarqueeBorder controle tem vrias propriedades para controlar sua aparncia. C#
[Category("Marquee")] [Browsable(true)] public int LightSize { get { return this.lightSizeValue; } set { if (value > 0 && value <= MaxLightSize) { this.lightSizeValue = value; this.DockPadding.All = 2 * value; } else { throw new ArgumentOutOfRangeException("LightSize", "must be > 0 and < MaxLightSize"); } } } [Category("Marquee")] [Browsable(true)] public int LightPeriod { get { return this.lightPeriodValue; } set { if (value > 0) { this.lightPeriodValue = value; } else { throw new ArgumentOutOfRangeException("LightPeriod", "must be > 0 "); } } } [Category("Marquee")] [Browsable(true)] public Color LightColor { get { return this.lightColorValue; } set { // The LightColor property is only changed if the // client provides a different value. Comparing values // from the ToArgb method is the recommended test for // equality between Color structs. if (this.lightColorValue.ToArgb() != value.ToArgb()) { this.lightColorValue = value; this.lightBrush = new SolidBrush(value); } } } [Category("Marquee")] [Browsable(true)] public Color DarkColor { get { return this.darkColorValue; } set { // The DarkColor property is only changed if the // client provides a different value. Comparing values // from the ToArgb method is the recommended test for // equality between Color structs. if (this.darkColorValue.ToArgb() != value.ToArgb()) { this.darkColorValue = value; this.darkBrush = new SolidBrush(value); } } } [Category("Marquee")] [Browsable(true)] public int LightSpacing { get { return this.lightSpacingValue; } set { if (value >= 0) { this.lightSpacingValue = value; } else { throw new ArgumentOutOfRangeException("LightSpacing", "must be >= 0"); } } } [Category("Marquee")] [Browsable(true)] [EditorAttribute(typeof(LightShapeEditor), typeof(System.Drawing.Design.UITypeEditor))] public MarqueeLightShape LightShape { get { return this.lightShapeValue; } set { this.lightShapeValue = value; } } [Category("Marquee")] [Browsable(true)] public MarqueeSpinDirection SpinDirection { get { return this.spinDirectionValue; } set { this.spinDirectionValue = value; } }

9.

Implementar os manipuladores para o BackgroundWorker componente na DoWork e ProgressChanged eventos. O DoWork manipulador de eventos sleeps para o nmero de milissegundos especificado pelo UpdatePeriod raises depois o ProgressChanged evento, at parar a animao ao chamar CancelAsync seu cdigo. O ProgressChanged manipulador de eventos aumenta a posio da luz " base ", do qual o estado luz / escuro de outros luzes determinado, e chama o Refresh mtodo para fazer com que o controle para redesenhar prprio. C#

Visual Studio

75

// This method is called in the worker thread's context, // so it must not make any calls into the MarqueeBorder // control. Instead, it communicates to the control using // the ProgressChanged event. // // The only work done in this event handler is // to sleep for the number of milliseconds specified // by UpdatePeriod, then raise the ProgressChanged event. private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; // This event handler will run until the client cancels // the background task by calling CancelAsync. while (!worker.CancellationPending) { // The Argument property of the DoWorkEventArgs // object holds the value of UpdatePeriod, which // was passed as the argument to the RunWorkerAsync // method. Thread.Sleep((int)e.Argument); // The DoWork eventhandler does not actually report // progress; the ReportProgress event is used to // periodically alert the control to update its state. worker.ReportProgress(0); } } // The ProgressChanged event is raised by the DoWork method. // This event handler does work that is internal to the // control. In this case, the currentOffset is incremented, // and the control is told to repaint itself. private void backgroundWorker1_ProgressChanged( object sender, System.ComponentModel.ProgressChangedEventArgs e) { this.currentOffset++; this.Refresh(); }

10. Implementar os mtodos auxiliar, IsLit e DrawLight. O IsLit mtodo determina a cor de uma luz em uma posio determinado. Luzes que so " lit " so tiradas com a cor determinado por propriedade LightColor, e aqueles que so " escuro " so tiradas com a cor determinado pela DarkColor propriedade. O DrawLight mtodo desenha uma luz utilizando a cor apropriada, Forma, e posio. C#
// This method determines if the marquee light at lightIndex // should be lit. The currentOffset field specifies where // the "first" light is located, and the "position" of the // light given by lightIndex is computed relative to this // offset. If this position modulo lightPeriodValue is zero, // the light is considered to be on, and it will be painted // with the control's lightBrush. protected virtual bool IsLit(int lightIndex) { int directionFactor = (this.spinDirectionValue == MarqueeSpinDirection.CW ? -1 : 1); return ( (lightIndex + directionFactor * this.currentOffset) % this.lightPeriodValue == 0 ); } protected virtual void DrawLight( Graphics g, Brush brush, int xPos, int yPos) { switch (this.lightShapeValue) { case MarqueeLightShape.Square: { g.FillRectangle(brush, xPos, yPos, this.lightSizeValue, this.lightSizeValue); break; } case MarqueeLightShape.Circle: { g.FillEllipse(brush, xPos, yPos, this.lightSizeValue, this.lightSizeValue); break; } default: { Trace.Assert(false, "Unknown value for light shape."); break; } } }

11. Substituir e OnPaint Mtodos. o OnLayout O OnPaint mtodo desenha as luzes ao longo das bordas do controle MarqueeBorder. Como o OnPaint mtodo depender da dimenses do controle MarqueeBorder, voc precisa para chamar ele sempre que for alterado o layout. Para isso, substituir OnLayout e chame Refresh. C#

Visual Studio

76

protected override void OnLayout(LayoutEventArgs levent) { base.OnLayout(levent); // Repaint when the layout has changed. this.Refresh(); } // This method paints the lights around the border of the // control. It paints the top row first, followed by the // right side, the bottom row, and the left side. The color // of each light is determined by the IsLit method and // depends on the light's position relative to the value // of currentOffset. protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g.Clear(this.BackColor); base.OnPaint(e); // If the control is large enough, draw some lights. if (this.Width > MaxLightSize && this.Height > MaxLightSize) { // The position of the next light will be incremented // by this value, which is equal to the sum of the // light size and the space between two lights. int increment = this.lightSizeValue + this.lightSpacingValue; // Compute the number of lights to be drawn along the // horizontal edges of the control. int horizontalLights = (this.Width - increment) / increment; // Compute the number of lights to be drawn along the // vertical edges of the control. int verticalLights = (this.Height - increment) / increment; // These local variables will be used to position and // paint each light. int xPos = 0; int yPos = 0; int lightCounter = 0; Brush brush; // Draw the top row of lights. for (int i = 0; i < horizontalLights; i++) { brush = IsLit(lightCounter) ? this.lightBrush : this.darkBrush; DrawLight(g, brush, xPos, yPos); xPos += increment; lightCounter++; } // Draw the lights flush with the right edge of the control. xPos = this.Width - this.lightSizeValue; // Draw the right column of lights. for (int i = 0; i < verticalLights; i++) { brush = IsLit(lightCounter) ? this.lightBrush : this.darkBrush; DrawLight(g, brush, xPos, yPos); yPos += increment; lightCounter++; } // Draw the lights flush with the bottom edge of the control. yPos = this.Height this.lightSizeValue; // Draw the bottom row of lights. for (int i = 0; i < horizontalLights; i++) { brush = IsLit(lightCounter) ? this.lightBrush : this.darkBrush; DrawLight(g, brush, xPos, yPos); xPos -= increment; lightCounter++; } // Draw the lights flush with the left edge of the control. xPos = 0; // Draw the left column of lights. for (int i = 0; i < verticalLights; i++) { brush = IsLit(lightCounter) ? this.lightBrush : this.darkBrush; DrawLight(g, brush, xPos, yPos); yPos -= increment; lightCounter++; } } }

Criando um designer personalizado para sombra e propriedades de filtro A MarqueeControlRootDesigner classe fornece a implementao para o designer raiz. Alm deste Designer, que opera em ser necessrio um designer personalizado que est associado ao controle MarqueeBorder especificamente. o MarqueeControl Este criador fornece personalizado comportamento que seja apropriado no contexto do designer raiz personalizado. Especificamente, o MarqueeBorderDesigner ser " sombra " e filtrar certas propriedades sobre o MarqueeBorder Controle, alterar sua interao com o ambiente de design. Interceptando chamadas para um componente na propriedade acessador conhecido como " Sombreamento. " Ele permite que um designer para controlar o valor definido pelo usurio e opcionalmente passar esse valor para o componente est sendo criado. Para esse exemplo, que impede o usurio de fazer o MarqueeBorder controle invisvel ou desativado durante o tempo de design. e Enabled ser propriedades ser sombreado pela Visible o MarqueeBorderDesigner Os designers tambm pode adicionar e remover propriedades. Para esse exemplo, a DockPadding propriedade ser removido em tempo de criao, porque o MarqueeBorder controle programaticamente Define o enchimento com base no tamanho das luzes especificado pela propriedade LightSize.

Visual Studio

77

A classe base de MarqueeBorderDesigner ComponentDesigner, que tem mtodos que pode alterar os atributos, propriedades e eventos expostos por um controle em tempo de criao:

PreFilterProperties PostFilterProperties PreFilterAttributes PostFilterAttributes PreFilterEvents PostFilterEvents

Ao alterar a interface pblica de um componente usar esses mtodos, voc deve seguir estas regras:

Adicionar ou remover itens no apenas os PreFilter mtodos Modificar itens existentes em apenas os PostFilter mtodos Sempre chamar o implementao bsica primeiro nos PreFilter mtodos Sempre chamar o implementao bsica ltima nos PostFilter mtodos

Adhering com essas regras garante que todos os designers no ambiente Designtime tenham uma exibio consistente de todos os componentes que est sendo criado. A ComponentDesigner classe fornece um dicionrio para gerenciar os valores das propriedades sombreado, que relieves voc da necessidade para criar variveis instncia especfica. Para criar um designer personalizado s propriedades de sombra e filtro 1. Clique com o boto direito do mouse na Design pasta e adicionar uma nova classe. Fornecer o arquivo de origem uma nome de base de " MarqueeBorderDesigner ". Abrir o MarqueeBorderDesigner arquivo de origem no Code Editor. Na parte superior do arquivo, importar os espaos para nome a seguir: C#
using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Windows.Forms; using System.Windows.Forms.Design;

2.

3.

Alterar da declarao do MarqueeBorderDesigner para herdar de ParentControlDesigner, e delimite a definio para a MarqueeBorderDesigner classe com espao para nome MarqueeControlLibrary.Design. Como o MarqueeBorder controle pode conter controles filho, MarqueeBorderDesigner herdado ParentControlDesigner, qual interao alas o pai-filho. C#
namespace MarqueeControlLibrary.Design { [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Deman d, Name = "FullTrust")] public class MarqueeBorderDesigner : ParentControlDesigner {

4.

Substituir o implementao bsica de PreFilterProperties. C#

Visual Studio

78

protected override void PreFilterProperties(IDictionary properties) { base.PreFilterProperties(properties); if (properties.Contains("Padding")) { properties.Remove("Padding"); } properties["Visible"] = TypeDescriptor.CreateProperty( typeof(MarqueeBorderDesigner), (PropertyDescriptor)properties["Visible"], new Attribute[0]); properties["Enabled"] = TypeDescriptor.CreateProperty( typeof(MarqueeBorderDesigner), (PropertyDescriptor)properties["Enabled"], new Attribute[0]); }

5.

Implementar e Visible Propriedades. o Enabled Essas implementaes sombra propriedades do controle. C#


public bool Visible { get { return (bool)ShadowProperties["Visible"]; } set { this.ShadowProperties["Visible"] = value; } } public bool Enabled { get { return (bool)ShadowProperties["Enabled"]; } set { this.ShadowProperties["Enabled"] = value; } }

Tratamento alteraes componente A MarqueeControlRootDesigner classe fornece a experincia Design-time personalizadas para sua MarqueeControl instncias. A maior parte da funcionalidade Design-time herdada da classe DocumentDesigner; seu cdigo ser implementar dois personalizaes especficas: tratamento alteraes componente, e adicionar verbos Designer. Como usurios criar suas MarqueeControl instncias, o designer raiz acompanhar alteraes e seus controles filho. o MarqueeControl O ambiente em tempo de design oferece um servio conveniente, IComponentChangeService, para rastreamento altera para estado componente. Voc adquirir uma referncia a esse servio consultando o ambiente com o GetService mtodo. Se a consulta for bem-sucedida, o designer pode anexar um manipulador para o ComponentChanged evento e executar quaisquer tarefas so necessrios para manter um estado consistente em tempo de criao. Voc no caso da MarqueeControlRootDesigner classe, ir chamar o Refresh mtodo em cada IMarqueeWidget objeto contido no MarqueeControl. Isso far com que o IMarqueeWidget objeto para redesenhar prprio adequadamente quando propriedades como seu pai Size so alteradas. Para lidar com alteraes componente 1. Abrir o MarqueeControlRootDesigner arquivo de origem no e substituem o Initialize Mtodo. o Code Editor Chamar o implementao bsica de Initialize e para consultar o IComponentChangeService. C#
base.Initialize(component); IComponentChangeService cs = GetService(typeof(IComponentChangeService)) as IComponentChangeService; if (cs != null) { cs.ComponentChanged += new ComponentChangedEventHandler(OnComponentChanged); }

2.

Implementar o OnComponentChanged manipulador de eventos. Testar tipo do componente de envio, e se ele for. chamar o Refresh mtodo an IMarqueeWidget, C#
private void OnComponentChanged( object sender, ComponentChangedEventArgs e) { if (e.Component is IMarqueeWidget) { this.Control.Refresh(); } }

Visual Studio

79

Adicionando verbos criador ao seu designer personalizado Um verbo Designer um comando de menu vinculado a um manipulador de eventos. Verbos Designer so adicionadas ao menu de atalho um componente em tempo de criao. Para obter mais informaes, consulte DesignerVerb. Voc adicionar dois verbos Designer a seu designers: Run Test e Stop Test. Esses verbos permitir que voc para exibir o comportamento em tempo de execuo do em tempo de criao. o MarqueeControl Esses verbos ser adicionado ao MarqueeControlRootDesigner. O manipulador de eventos verbo quando Run Test chamado, ir chamar o StartMarquee mtodo no MarqueeControl. O manipulador de eventos verbo quando Stop Test chamado, ir chamar o StopMarquee mtodo no MarqueeControl. A implementao do e StopMarquee mtodos chamar esses mtodos em controles que implementam IMarqueeWidget, contidos para os controles contidos IMarqueeWidget tambm participar do teste. o StartMarquee Para adicionar verbos designer ao seu designers personalizados 1. Na MarqueeControlRootDesigner Classe, adicione manipuladores de evento chamado OnVerbRunTest e OnVerbStopTest. C#
private void OnVerbRunTest(object sender, EventArgs e) { MarqueeControl c = this.Control as MarqueeControl; c.Start(); } private void OnVerbStopTest(object sender, EventArgs e) { MarqueeControl c = this.Control as MarqueeControl; c.Stop(); }

2.

Se conectar esses manipuladores de eventos a seus verbos Designer correspondente. Herda MarqueeControlRootDesigner da sua classe base. um DesignerVerbCollection Voc ir criar dois objetos novos DesignerVerb e adicion-los a essa coleo no mtodo Initialize. C#
this.Verbs.Add( new DesignerVerb("Run Test", new EventHandler(OnVerbRunTest)) ); this.Verbs.Add( new DesignerVerb("Stop Test", new EventHandler(OnVerbStopTest)) );

Criando um UITypeEditor personalizada Quando voc criar uma experincia Design-time personalizados para usurios, geralmente desejvel para criar uma interao com a janela Propriedades Personalizadas. Voc pode fazer isso criando um UITypeEditor. Para obter mais informaes, consulte Como criar um editor tipo UI:. O MarqueeBorder controle expe vrias propriedades na janela Propriedades. Duas dessas propriedades, MarqueeSpinDirection e MarqueeLightShape so representadas por enumeraes. Para ilustrar o uso de um editor tipo UI, a MarqueeLightShape propriedade ter uma classe Associado UITypeEditor. Para criar um tipo personalizado UI Editor 1. 2. Abrir o MarqueeBorder arquivo de origem no Code Editor. Na definio da classe MarqueeBorder, declare uma classe denominada LightShapeEditor que deriva de UITypeEditor. C#
// This class demonstrates the use of a custom UITypeEditor. // It allows the MarqueeBorder control's LightShape property // to be changed at design time using a customized UI element //

Visual Studio

80

that is invoked by the Properties window. The UI is provided // by the LightShapeSelectionControl class. internal class LightShapeEditor : UITypeEditor {

3.

Declarar uma IWindowsFormsEditorService varivel chamada editorService instncia. C#


private IWindowsFormsEditorService editorService = null;

4.

Substituir o GetEditStyle mtodo. Essa implementao retorna DropDown, que informa o ambiente de design como sero exibidas a LightShapeEditor. C#
public override UITypeEditorEditStyle GetEditStyle( System.ComponentModel.ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown; }

5.

Substituir o EditValue mtodo. Essa implementao consulta o ambiente de design para um IWindowsFormsEditorService objeto. Se tiver xito, ele criar um LightShapeSelectionControl. O DropDownControl mtodo chamado para iniciar o LightShapeEditor. O valor de retorno desta chamada retornado para o ambiente de design. C#
public override object EditValue( ITypeDescriptorContext context, IServiceProvider provider, object value) { if (provider != null) { editorService = provider.GetService( typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; } if (editorService != null) { LightShapeSelectionControl selectionControl = new LightShapeSelectionControl( (MarqueeLightShape)value, editorService); editorService.DropDownControl(selectionControl); value = selectionControl.LightShape; } return value; }

Criando um controle de exibio para seu UITypeEditor personalizada 1. A MarqueeLightShape propriedade oferece suporte dois tipos de formas luz: Square e Circle. Voc criar um controle personalizado usado somente para o propsito de graficamente exibindo esses valores na janela Propriedades. Este controle personalizado ser usado pelo para interagir com a janela Propriedades. seu UITypeEditor Para criar um controle de exibio para seu UI personalizado Editor tipo 1. Adicionar um novo UserControl item para o MarqueeControlLibrary projeto. Dar o novo arquivo de origem uma nome de base de " LightShapeSelectionControl ". Arraste dois Panel controles da Toolbox. at a LightShapeSelectionControl Nome-los squarePanel e circlePanel. Organiz-los lado a lado. Definir a Size propriedade de ambos os Panel controles para (60, 60). Defina a Location propriedade do controle squarePanel para (8, 10). Defina a Location propriedade do controle circlePanel para (80, 10). Finalmente, defina a Size propriedade do (150, 80). para o LightShapeSelectionControl Abrir o LightShapeSelectionControl arquivo de origem no Code Editor. Implementar Click manipuladores de eventos para e circlePanel controles. o squarePanel Esses mtodos chamar CloseDropDown para encerrar a sesso de edio personalizada UITypeEditor.

2.

3. 4.

Visual Studio

81

C#
private void squarePanel_Click(object sender, EventArgs e) { this.lightShapeValue = MarqueeLightShape.Square; this.Invalidate( false ); this.editorService.CloseDropDown(); } private void circlePanel_Click(object sender, EventArgs e) { this.lightShapeValue = MarqueeLightShape.Circle; this.Invalidate( false ); this.editorService.CloseDropDown(); }

5.

Declarar uma MarqueeLightShape varivel chamada lightShapeValue instncia. C#


private MarqueeLightShape lightShapeValue = MarqueeLightShape.Square;

6.

No Construtor LightShapeSelectionControl, anexar os Click manipuladores de eventos para e circlePanel eventos controles ' Click. o squarePanel Alm disso, atribuir o MarqueeLightShape Valor do ambiente de design para o lightShapeValue campo. C#
// This constructor takes a MarqueeLightShape value from the // design-time environment, which will be used to display // the initial state. public LightShapeSelectionControl( MarqueeLightShape lightShape, IWindowsFormsEditorService editorService ) { // This call is required by the designer. InitializeComponent(); // Cache the light shape value provided by the // design-time environment. this.lightShapeValue = lightShape; // Cache the reference to the editor service. this.editorService = editorService; // Handle the Click event for the two panels. this.squarePanel.Click += new EventHandler(squarePanel_Click); this.circlePanel.Click += new EventHandler(circlePanel_Click); }

7.

No mtodo Dispose, desanexar os Click manipuladores de eventos. C#


protected override void Dispose( bool disposing ) { if( disposing ) { // Be sure to unhook event handlers // to prevent "lapsed listener" leaks. this.squarePanel.Click -= new EventHandler(squarePanel_Click); this.circlePanel.Click -= new EventHandler(circlePanel_Click); if(components != null) { components.Dispose(); } } base.Dispose( disposing ); }

8.

Implementar a LightShape propriedade. C#


// LightShape is the property for which this control provides // a custom user interface in the Properties window. public MarqueeLightShape LightShape { get { return this.lightShapeValue; } set { if( this.lightShapeValue != value ) { this.lightShapeValue = value; } } }

9.

Substituir o OnPaint mtodo. Essa implementao ser desenhar um quadrado slido e crculo. Ele tambm realar o valor selecionado desenhando uma borda ao redor de uma forma ou o outro. C#
protected override void OnPaint(PaintEventArgs e) { base.OnPaint (e); using( Graphics gSquare = this.squarePanel.CreateGraphics(), gCircle = this.circlePanel.CreateGraphics() ) { // Draw a filled square in the client area of // the squarePanel control. gSquare.FillRectangle( Brushes.Red, 0, 0, this.squarePanel.Width, this.squarePanel.Height ); // If the Square option has been selected, draw a // border inside the squarePanel. if( this.lightShapeValue == MarqueeLightShape.Square ) {

Visual Studio

82

gSquare.DrawRectangle( Pens.Black, 0, 0, this.squarePanel.Width-1, this.squarePanel.Height-1); } // Draw a filled circle in the client area of // the circlePanel control. gCircle.Clear( this.circlePanel.BackColor ); gCircle.FillEllipse( Brushes.Blue, 0, 0, this.circlePanel.Width, this.circlePanel.Height ); // If the Circle option has been selected, draw a // border inside the circlePanel. if( this.lightShapeValue == MarqueeLightShape.Circle ) { gCircle.DrawRectangle( Pens.Black, 0, 0, this.circlePanel.Width-1, this.circlePanel.Height-1); } } }

Testando o controle personalizado no criador Neste ponto, voc pode criar o MarqueeControlLibrary projeto. Voc pode criar um controle que herda da classe MarqueeControl e utiliz-la em um formulrio. Para criar uma implementao MarqueeControl personalizado 1. Aberto DemoMarqueeControl no modo de design. Isso ir criar uma instncia do tipo DemoMarqueeControl e exibi-lo em uma instncia do tipo MarqueeControlRootDesigner. Na Toolbox, abrir a MarqueeControlLibrary Components guia. Voc ver e MarqueeText Controles disponveis para seleo. o MarqueeBorder Arraste uma instncia do controle MarqueeBorder para a DemoMarqueeControl superfcie de design. Ancorar esse MarqueeBorder controle para o controle pai. Arraste uma instncia do controle MarqueeText para a DemoMarqueeControl superfcie de design. Compilar uma soluo. Selecione e clique em seu glifo Marca Inteligente. o DemoMarqueeControl Selecione a Run Test opo para iniciar a animao. Clique Stop Test para parar a animao. Aberto Form1 no modo estrutura. Colocar dois Button controles no formulrio. Nome-los startButton e stopButton. e alterar os Text valores de propriedade para " Iniciar " e " parar ", respectivamente Implementar Click manipuladores de eventos para ambos os Button controles.

2. 3. 4. 5. 6.

7. 8.

9.

10. Na Toolbox, abrir a MarqueeControlTest Components guia. Voc ver disponveis para seleo. o DemoMarqueeControl 11. Arraste uma instncia de DemoMarqueeControl at a Form1 superfcie de design. 12. Nos Click manipuladores de eventos, chamar a Start. e Stop mtodos na
DemoMarqueeControl

Visual Basic
Private Sub startButton_Click(sender As Object, e As System.EventArgs) Me.demoMarqueeControl1.Start() End Sub 'startButton_Click Private Sub stopButton_Click(sender As Object, e As System.EventArgs) Me.demoMarqueeControl1.Stop() End Sub 'stopButton_Click private void startButton_Click(object sender, System.EventArgs e) { this.demoMarqueeControl1.Start(); } private void stopButton_Click(object sender, System.EventArgs e) { this.demoMarqueeControl1.Stop(); }

13. Definir o MarqueeControlTest projeto como o projeto de inicializao e execut-lo. Voc ver o formulrio exibindo seu DemoMarqueeControl. Clique no

Visual Studio

83

boto Iniciar para iniciar a animao. Voc ver o texto piscando e as luzes mover-se a borda. Prximas etapas O MarqueeControlLibrary demonstra uma implementao de controles personalizados e designers associado simples. Voc pode fazer esse exemplo mais sofisticados de vrias maneiras:

Alterar os valores de propriedade no criador. o DemoMarqueeControl Adicionar mais MarqueBorder controles e ancorado-los em suas instncias pai para criar um efeito aninhadas. Faa suas experincias com configuraes diferentes para as UpdatePeriod propriedades relacionadas luz-e o. Criar suas prprias implementaes de IMarqueeWidget. Por exemplo, voc pode, criar " Um sinal non flashing " ou um sinal animado com vrias imagens. Personalizar a experincia Design-time. Voc pode tentar sombreamento mais propriedades que Enabled e Visible. e voc pode adicionar novas propriedades Adicionar novos verbos Designer para simplificar tarefas comuns como encaixe controles filho. A MarqueeControl Licena. Para obter mais informaes, consulte Como: Licenciar componentes e controles. Controlar como os controles so serializados e como cdigo for gerado para eles. Para obter mais informaes, consulte Gerao e compilao de cdigo fonte dinmico .

Um controle composto com Visual C# Walkthrough: criao


Controles Composite fornecem um meio pelo qual personalizado interfaces grfica podem ser criadas e reutilizado. Um controle composto essencialmente um componente com uma representao visual. Como tal, ele pode consistir de um ou mais Windows Forms controles, componentes, ou blocos de cdigo que pode estender funcionalidade, validar a entrada do usurio, modificar propriedades de vdeo, ou executar outras tarefas necessrias para o autor. Composio em controles podem ser colocados no Windows Forms em da mesma maneira que outros controles. Na primeira parte dessa explicao passo a passo, voc criar um controle composto simples chamado ctlClock. Na segunda parte da explicao passo a passo, voc estender a funcionalidade de ctlClock atravs de herana. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Criando o projeto Quando voc cria um novo projeto, voc especificar seu nome para definir o raiz, nome conjunto, e nome do projeto, e garantir que o componente padro ser no espao para nome correto. Para criar a biblioteca controle ctlClockLib e o controle ctlClock 1. No menu File, aponte para New, e clique Project para abrir a New Project caixa de dilogo.

Visual Studio

84

2.

A partir da lista de Visual C# projetos, selecione o Windows Control Library modelo de projeto, digite ctlClockLib na caixa Name, e, em seguida clique em OK O projeto nome, ctlClockLib, tambm atribuda para a raiz por padro. A raiz usado para qualificar os nomes dos componentes no conjunto. Por exemplo, se dois conjuntos de mdulos (assemblies) fornecer componentes nomeado ctlClock, voc pode especificar seu ctlClock componente usando ctlClockLib.ctlClock.

3.

No Solution Explorer, clique com o boto direito do mouse UserControl1.cs e clique em Rename.Alterar o nome do arquivo para ctlClock.cs. Clique no Yes boto quando lhe for perguntado se voc desejar renomear todas as referncias para o elemento de cdigo " UserControl1 ". Observao Por padro, um controle composto herda da classe UserControl fornecida pelo sistema. A UserControl classe fornece funcionalidade exigido pelo composto todos os controles, e implementa os mtodos padro e as propriedades.

4.

No menu File, clique Save All para salvar o projeto.

Adicionando Windows controles e componentes para o controle composto Uma interface visual uma parte essencial de seu controle composto. Esta interface visual implementado pela adio de um ou mais controles do Windows para a superfcie de designer. Na demonstrao a seguir, voc ir incorporar Windows controles em seu controle composto e escrever cdigo para implementar funcionalidade. Para adicionar um rtulo e um timer a seu controle composto 1. 2. No Solution Explorer, clique com o boto direito do mouse ctlClock.cs e clique em View Designer. Em expanda o Common Controls n, e clique duas vezes Label. o Toolbox Um Label controle denominado label1 adicionado a seu controle na superfcie de designer. 3. No designer, clique em label1. Na janela Propriedades, defina as propriedades a seguir. Propriedade Name Text TextAlign Font.Size 4. Alterar para lblDisplay (espao em branco) MiddleCenter 14

Em expanda o Components n, e clique duas vezes Timer. o Toolbox Porque ele tem sem representao visual em tempo de execuo. um componente, um Timer Portanto, ele no exibido com os controles na superfcie Designer, mas sim em (uma bandeja na parte inferior da superfcie designer). o Component Designer

5.

Na Component Designer, clique timer1, e defina a Interval propriedade 1000 e a Enabled propriedade true.

Visual Studio

85

A Interval propriedade controla a freqncia com a qual o Timer Componente Ticks. Cada ticks tempo timer1, ele executa o cdigo no evento timer1_Tick. O intervalo representa o nmero de milissegundos entre tiques. 6. 7. Na Component Designer, clique duas vezes timer1 Para ir para o
timer1_Tick evento para ctlClock.

Modificar o cdigo para que ele parecido com o exemplo de cdigo a seguir. Certifique-se de alterar o modificador de private acesso para protected. [C#]
protected void timer1_Tick(object sender, System.EventArgs e) { // Causes the label to display the current time. lblDisplay.Text = DateTime.Now.ToLongTimeString(); }

Este cdigo far com que a hora atual a ser mostrado no lblDisplay. Porque o intervalo de timer1 estava definido para 1000, esse evento ocorrer cada milissegundos de milhar, assim atualizando o horrio atual a cada segundo. 8. Modificar o mtodo para ser assessor pela palavra-chave virtual. Para obter mais informaes, consulte a seo " Inheriting de um controle Usurio " abaixo.
protected virtual void timer1_Tick(object sender, System.EventArgs e)

9.

No menu File, clique Save All para salvar o projeto.

Adicionar propriedades ao controle composto O controle relgio agora encapsula um Label controle e um Timer componente, cada um com seu prprio conjunto de propriedades herdadas. Enquanto a propriedades individuais desses controles no ir ser acessveis aos usurios subseqentes do seu controle, voc pode criar e Expor propriedades personalizadas Escrevendo os blocos de cdigo apropriada. No procedimento a seguir, voc adicionar as propriedades para o controle que permitem ao usurio para alterar a cor do plano de fundo e texto. Para adicionar uma propriedade para o controle composto 1. No Solution Explorer, clique com o boto direito do mouse ctlClock.cs e clique em View Code. O Code Editor para o controle abre. 2. Localize a public partial class ctlClock instruo. Sob o Brace abertura ({)., digite o seguinte cdigo [C#]
private Color colFColor; private Color colBColor;

Essas instrues criar as variveis particulares que voc vai usar para armazenar os valores para as propriedades voc est prestes a criar. 3. Digite o seguinte cdigo abaixo as declaraes de varivel da etapa 2. [C#]
// Declares the name and type of the property. public Color ClockBackColor { // Retrieves the value of the private variable colBColor. get { return colBColor; } // Stores the selected value in the private variable colBColor, and // updates the background color of the label control lblDisplay. set { colBColor = value; lblDisplay.BackColor = colBColor; } } // Provides a similar set of instructions for the foreground color. public Color ClockForeColor { get { return colFColor; } set { colFColor = value; lblDisplay.ForeColor = colFColor; } }

Visual Studio

86

O cdigo antecedente torna duas propriedades personalizadas, ClockForeColor e ClockBackColor, Usurios disponveis para subseqentes deste controle. O get e set fornecer instrues para armazenamento e recuperao de valor da propriedade,, bem como cdigo para implementar funcionalidade apropriado para a propriedade. 4. No menu File, clique Save All para salvar o projeto. Teste o controle Controles so aplicativos no autnoma; eles deve ser hospedado em um continer. Testar comportamento em tempo de execuo do seu controle e exercer suas propriedades com o UserControl Test Container. Para obter mais informaes, consulte HOW TO: testar o comportamento de um UserControl RunTime. Para testar o controle 1. 2. 3. 4. Pressione F5 para criar o projeto e executar o controle no UserControl Test Container. Na grade, o Continer de Teste na propriedade a ClockBackColor propriedade, localize e selecione a propriedade para exibir a paleta de cores. Escolha uma cor para selecion-lo. A cor plano de fundo de seu controle alterada para a cor selecionada. Use uma seqncia de eventos semelhante para verificar se a ClockForeColor propriedade est funcionando como esperado. Nesta seo e as sees anteriores, voc j viu como componentes e Windows controles podem ser combinados com cdigo e embalagem para fornecer funcionalidade na forma de um controle de composio personalizado. Voc aprendeu para expor as propriedades em seu controle composto, e como testar o controle depois que ele for concluda. Na prxima seo voc aprender como construir um controle composto herdadas usando ctlClock como base. Herdar a partir de um controle composto Nas sees anteriores, voc aprendeu como combinar Windows controles, componentes, e cdigo em reutilizveis controles composto. O controle composto agora pode ser usado como uma base no qual outros controles pode ser construdo. O processo de derivar uma classe de uma classe base chamado Herana. No nesta seo, voc criar um controle denominado ctlAlarmClock composto. Ser esse controle ser derivadas de seu controle pai, ctlClock. Voc aprender a estender a funcionalidade de ctlClock, substituindo mtodos pai e adicionando novos mtodos e propriedades. A primeira etapa para criar um controle herdado para derivar-lo de seu pai. Esta ao cria um novo controle que possui todas as propriedades, mtodos, e grfica caractersticas do controle pai, mas tambm pode atuar como uma base para a adio de novo ou modificado funcionalidade. Para criar o controle herdado 1. No Solution Explorer, clique com o boto direito do mouse ctlClockLib, aponte para Add, e clique em User Control A Add New Item caixa de dilogo aberta. 2. Selecione o Inherited User Control modelo.

Visual Studio

87

3. 4. 5.

Na caixa Name, digite ctlAlarmClock.cs, e clique em Add. A Inheritance Picker caixa de dilogo ser exibida. Em Component Name, clique duas vezes ctlClock. No Solution Explorer, pesquise os projetos atual. Observao Um arquivo chamado ctlAlarmClock.cs tiver sido adicionado ao projeto atual.

Adicionando as propriedades alarme Propriedades so adicionadas a um controle herdadas da mesma maneira adicionados a um controle composto. Voc agora usar a sintaxe declarao da propriedade para adicionar duas propriedades ao seu controle: AlarmTime, que ser armazenar o valor da data e hora o alarme para ir desativado, e AlarmSet, que indicar se o alarme est definido.. Para adicionar propriedades a seu controle composto 1. 2. No Solution Explorer, clique com o boto direito do mouse ctlAlarmClock e clique em View Code. Localize a public class instruo. Observe que o controle herdado ctlClockLib.ctlClock. Sob o Brace abertura digite o seguinte cdigo. ({) instruo, [C#]
private DateTime dteAlarmTime; private bool blnAlarmSet; // These properties will be declared as public to allow future // developers to access them. public DateTime AlarmTime { get { return dteAlarmTime; } set { dteAlarmTime = value; } } public bool AlarmSet { get { return blnAlarmSet; } set { blnAlarmSet = value; } }

Adicionando a interface grfica do controle O controle herdado tem uma interface visual que idntica ao controle ela herda da. Ele possui os mesmos controles constituintes como seu controle pai, mas no as propriedades dos controles constituintes estar disponvel a menos que eles foram especificamente expostos. Voc pode adicionar para a interface grfica de um controle composto herdadas da mesma maneira ao deseja incluir em qualquer controle composto. Para continuar adicionando ao alarme o relgio na interface visual, voc adicionar um controle rtulo que ser memria flash quando o alarme sounding. Para adicionar o controle rtulo 1. No Solution Explorer, clique com o boto direito do mouse ctlAlarmClock e clique em View Designer. O designer para ctlAlarmClock abre na janela principal. 2. Clique na parte de exibio do controle, e exibir a janela Propriedades. Observao Enquanto todas as propriedades so exibida, eles so esmaecidos. Isso indica que essas propriedades so nativo para lblDisplay e no pode ser modificado ou acessado na janela Propriedades. Por padro, controles contido em um controle composto so private, e suas propriedades no esto acessveis por qualquer meio. Observao Se voc quiser que os subseqentes usurios de seu controle composto para ter acesso a seus controles

Visual Studio

88

interno, declare-los como public ou protected.. ou protected Isso permitir que voc possa definir e modificar propriedades de controles contido em seu controle composto usando o cdigo apropriado. 3. 4. Adicionar um Label controle para o controle composto. Usando o mouse, arraste o Label controle imediatamente abaixo da caixa Exibir. Na janela Propriedades, defina as propriedades a seguir. Propriedade Name Text TextAlign Visible Adicionar a funcionalidade alarme Nos procedimentos anteriores, voc adicionar propriedades e um controle que permitir funcionalidade alarme no seu controle composto. Neste procedimento, voc ser adicione cdigo para comparar a hora atual para a hora alarme e, se eles so os mesmos, para memria flash um alarme. Voc, substituindo o timer1_Tick mtodo do ctlClock e adicionando cdigo adicional a ela, se estender a capacidade de ctlAlarmClock Mantendo todos os inerente a funcionalidade do ctlClock. Para substituir o mtodo timer1_Tick do ctlClock 1. Em Localizar a private bool blnAlarmSet; Instruo. o Code Editor Imediatamente abaixo dele, adicione a instruo a seguir. [C#]
private bool blnColorTicker;

Configurao lblAlarm Alarme! MiddleCenter false

2.

Em (}). localizar o chave de fechamento no final da classe o Code Editor Imediatamente antes do Brace, adicione o seguinte cdigo. [C#]
protected override void timer1_Tick(object sender, System.EventArgs e) { // Calls the Timer1_Tick method of ctlClock. base.timer1_Tick(sender, e); // Checks to see if the alarm is set. if (AlarmSet == false) return; else // If the date, hour, and minute of the alarm time are the same as // the current time, flash an alarm. { if (AlarmTime.Date == DateTime.Now.Date && AlarmTime.Hour == DateTime.Now.Hour && AlarmTime.Minute == DateTime.Now.Minute) { // Sets lblAlarmVisible to true, and changes the background color based on // the value of blnColorTicker. The background color of the label // will flash once per tick of the clock. lblAlarm.Visible = true; if (blnColorTicker == false) { lblAlarm.BackColor = Color.Red; blnColorTicker = true; } else { lblAlarm.BackColor = Color.Blue; blnColorTicker = false; } } else { // Once the alarm has sounded for a minute, the label is made // invisible again. lblAlarm.Visible = false; } } }

A adio deste cdigo realiza diversas tarefas. A override instruo devolve o controle para usar esse mtodo em vez do mtodo que foi herdada do controle base. Quando esse mtodo for chamado, ele chama o mtodo substitui invocando a base.timer1_Tick instruo, garantindo que todos os a funcionalidade incorporada ao controle original reproduzida neste controle. Em seguida, ele executa cdigo adicional para incorporar a funcionalidade alarme. Um controle rtulo flashing ser exibido quando o alarme ocorre.

Visual Studio

89

O controle relgio alarme est quase completo. A nica coisa que permanece deve implementar uma maneira para desativ-lo. Para fazer isso, voc adicionar cdigo para o lblAlarm_Click mtodo. Para implementar o mtodo shutoff 1. No Solution Explorer, clique com o boto direito do mouse ctlAlarmClock.cs e clique em View Designer. O designer abre. 2. Adicionar um boto para o controle. Defina as propriedades do boto da seguinte maneira. Propriedade Name Text 3. 4. Value (Valor) btnAlarmOff Desativar alarme

No designer, clique duas vezes btnAlarmOff. A Code Editor abre para a private void btnAlarmOff_Click linha. Modificar esse mtodo para que ele parecido com o cdigo a seguir. [C#]
private void btnAlarmOff_Click(object sender, System.EventArgs e) { // Turns off the alarm. AlarmSet = false; // Hides the flashing label. lblAlarm.Visible = false; }

5.

No menu File, clique Save All para salvar o projeto.

Usar o controle Inherited em um formulrio Voc pode testar o controle herdadas da mesma maneira voc testou o controle classe base, ctlClock:. Pressione F5 para criar o projeto e executar o controle no UserControl Test Container Para obter mais informaes, consulte HOW TO: testar o comportamento de um UserControl Run-Time. Para colocar o controle a ser usado, ser necessrio para hospedar-lo em um formulrio. Como com um controle composto padro, um controle composto herdadas no pode autnoma sozinho e deve ser hospedado em um formulrio ou outros continer. Since ctlAlarmClock tem uma maior intensidade de funcionalidade, cdigo adicional necessrio para test-lo. Neste procedimento, voc ir escrever um programa simples para testar a funcionalidade do ctlAlarmClock. Voc ir gravar cdigo para definir e exibir a AlarmTime propriedade de ctlAlarmClock, e ser testar suas funes inerente. Para criar e adicionar o controle a um formulrio de teste 1. 2. 3. No Solution Explorer, clique com o boto direito do mouse ctlClockLib e clique em Build. Adicione um novo Windows Application projeto para a soluo, e denomine-Test. Clique com boto direito no Solution Explorer, mouse no References n para o projeto de teste. Clique Add Reference para exibir a Add Reference caixa de dilogo. Clique na guia rotuladas Projects. O ctlClockLib projeto ser listado em Project Name. Clique duas vezes o projeto para adicionar a referncia para o projeto de teste.

Visual Studio

90

4. 5. 6. 7.

No Solution Explorer, clique com o boto direito do mouse Test e clique em Build. Em expanda o ctlClockLib Components N. o Toolbox Clique duas vezes ctlAlarmClock para adicionar uma cpia do ctlAlarmClock ao seu formulrio. Em Localizar e clique duas vezes DateTimePicker Para adicionar um DateTimePicker controle ao seu formulrio, e adicione um Label controle clicando duas vezes Label. o Toolbox Usar o mouse para posicionar os controles em um local conveniente no formulrio. Definir as propriedades desses controles da seguinte maneira. Controle
label1

8. 9.

Propriedade Text Name

Value (Valor) (espao em branco) lblTest dtpTest Time

dateTimePicker1

Name Format

10. No designer, clique duas vezes dtpTest. A Code Editor abre para private void dtpTest_ValueChanged. 11. Modificar o cdigo para que ele parecido com o seguinte. [C#]
private void dtpTest_ValueChanged(object sender, System.EventArgs e) { ctlAlarmClock1.AlarmTime = dtpTest.Value; ctlAlarmClock1.AlarmSet = true; lblTest.Text = "Alarm Time is " + ctlAlarmClock1.AlarmTime.ToShortTimeString(); }

12. No Solution Explorer, clique com o boto direito do mouse Test e clique em Set as StartUp Project. 13. No menu Debug, clique em Start Debugging. Inicia o programa de Teste. Observe que a hora atual atualizado no controle ctlAlarmClock, e que o hora de incio mostrado no controle DateTimePicker 14. Clique o DateTimePicker onde os minutos da hora so exibidos. 15. Usando o teclado, definir um valor em minutos que seja maior que a hora atual mostrada por ctlAlarmClock um minuto. O tempo para a Configurao de alarme mostrado na lblTest. Esperar que o tempo exibido para atingir o tempo configurao alarme. Quando o tempo exibido atingir o tempo ao qual o alarme definido, o lblAlarm ser memria flash. 16. Desativar o alarme clicando btnAlarmOff. Agora voc pode redefinir o alarme. Essa explicao passo a passo tem abordadas um nmero de principais conceitos. Voc aprendeu para criar um controle composto pela combinao controles e componentes em um continer controle composto. Voc aprendeu para adicionar propriedades para o controle, e para escrever cdigo para implementar funcionalidade personalizada. Na ltima seo, voc aprendeu para estender a funcionalidade de um determinado controle composto a

Visual Studio

91

herana, e para alterar a funcionalidade de mtodos host por substituir esses mtodos.

Um componente Multithreaded Simple com Visual C# Walkthrough: criao


O BackgroundWorker Componente substitui e adiciona funcionalidade ao espao para nome System.Threading; No entanto, espao para nome System.Threading foi mantida para compatibilidade com verses anteriores e uso futuro, se voc escolher. Para obter mais informaes, consulte Component BackgroundWorker Overview. Voc pode escrever aplicativos que esto capaz de executar vrias tarefas simultaneamente. Essa capacidade, chamado multithreading, ou Liberar segmentao uma maneira eficiente de componentes de design que so muito processor-e exigem entrada do usurio. Um exemplo de um componente que pode alterar usar de multithreading. seria um componente que calcula informaes de folha de pagamento O componente pde processar dados inseridos em um banco de dados por um usurio em um segmento enquanto clculos folha pagamento muito processor-foram executados em outro. Ao executar esses processos em segmentos separados, os usurios precisam aguardar o computador para concluir clculos antes de inserir dados adicionais. Nessa explicao passo a passo, voc criar um componente multissegmentado simples que executa vrios clculos complexos simultaneamente. Criando o projeto O aplicativo consiste em um nico formulrio e um componente. O usurio ser entrada valores e sinal para o componente para iniciar clculos. O formulrio ir receber valores de seu componente e exibir-los em controles de rtulo. O componente executar os clculos muito processor-e sinalizar o formulrio quando concludo. Voc ir criar variveis pblicas no seu componente para armazenar valores recebidos da interface do usurio. Voc tambm ir implementar mtodos no seu componente para executar os clculos com base nos valores dessas variveis. Observao Embora geralmente seja uma funo de um mtodo prefervel que calcule um valor, argumentos no podem ser passados entre segmentos, nem valores podem ser retornados. Existem muitas maneiras simples para fornecer valores para segmentos e para receber valores a partir deles. Nesta demonstrao, voc ir retornar valores para a interface de usurio, atualizando pblicas variveis, e eventos sero usados para notificar o programa principal quando um segmento de execuo foi concluda. As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Para criar o formulrio 1. 2. Criar um novo Windows Application projeto. Nome do aplicativo Calculations e renomeie Form1.cs como frmCalculations.cs. Quando Visual Studio solicita que voc para renomear o Form1 elemento de cdigo, clique em Yes. Este formulrio servir como a interface do usurio principal para seu aplicativo.

Visual Studio

92

3. 4.

Adicionar cinco Label controles, quatro Button controles, e um TextBox controle a seu formulrio. Definir propriedades para esses controles da seguinte maneira: Controle
label1 label2 label3 label4 label5 button1 button2 button3 button4 textBox1

Name (Nome)
lblFactorial1 lblFactorial2 lblAddTwo lblRunLoops lblTotalCalculations btnFactorial1 btnFactorial2 btnAddTwo btnRunLoops txtValue

Texto (vazio) (vazio) (vazio) (vazio) (vazio) Fatorial Fatorial - 1 Adicionar dois Executar um loop (vazio)

Para criar o componente Calculadora 1. 2. 1. 2. No menu Project, selecione Add Component. Nome do componente Calculator. Do Code Editor aberto para Calculator. Adicione instrues para criar variveis pblicas que ser usado para passar valores frmCalculations para cada segmento. A varivel varTotalCalculations manter uma execuo total do nmero total de clculos executada pelo componente, e as outras variveis vai receber valores do formulrio.
public int varAddTwo; public int varFact1; public int varFact2; public int varLoopValue; public double varTotalCalculations = 0;

Para adicionar variveis pblicas ao componente Calculadora

Para adicionar mtodos e eventos ao componente Calculadora 1. Declare Os delegados para os eventos que o componente ser usado para comunicar valores para o formulrio. Observao Embora ser voc ser declarar quatro eventos, voc s precisar criar trs representantes porque dois eventos ter a mesma assinatura. 2.
3.

Imediatamente abaixo as declaraes de varivel inseridas na etapa anterior, a digite o seguinte cdigo:
// This delegate will be invoked with two of your events. public delegate void FactorialCompleteHandler(double Factorial, double TotalCalculations); public delegate void AddTwoCompleteHandler(int Result, double TotalCalculations); public delegate void LoopCompleteHandler(double TotalCalculations, int Counter);

Visual Studio

93

4.

Declarar os eventos que o componente ser usado para se comunicar com seu aplicativo. Fazer isso, adicionando o seguinte cdigo imediatamente abaixo o cdigo digitado na etapa anterior.
public event FactorialCompleteHandler FactorialComplete; public event FactorialCompleteHandler FactorialMinusOneComplete; public event AddTwoCompleteHandler AddTwoComplete; public event LoopCompleteHandler LoopComplete;

5.

Imediatamente abaixo o cdigo que voc digitou na etapa anterior, digite o seguinte cdigo:
// This method will calculate the value of a number minus 1 factorial // (varFact2-1!). public void FactorialMinusOne() { double varTotalAsOfNow = 0; double varResult = 1; // Performs a factorial calculation on varFact2 - 1. for (int varX = 1; varX <= varFact2 - 1; varX++) { varResult *= varX; // Increments varTotalCalculations and keeps track of the current // total as of this instant. varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations; } // Signals that the method has completed, and communicates the // result and a value of total calculations performed up to this // point. FactorialMinusOneComplete(varResult, varTotalAsOfNow); } // This method will calculate the value of a number factorial. // (varFact1!) public void Factorial() { double varResult = 1; double varTotalAsOfNow = 0; for (int varX = 1; varX <= varFact1; varX++) { varResult *= varX; varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations; } FactorialComplete(varResult, varTotalAsOfNow); } // This method will add two to a number (varAddTwo+2). public void AddTwo() { double varTotalAsOfNow = 0; int varResult = varAddTwo + 2; varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations; AddTwoComplete(varResult, varTotalAsOfNow); } // This method will run a loop with a nested loop varLoopValue times. public void RunALoop() { int varX; double varTotalAsOfNow = 0; for (varX = 1; varX <= varLoopValue; varX++) { // This nested loop is added solely for the purpose of slowing down // the program and creating a processor-intensive application. for (int varY = 1; varY <= 500; varY++) { varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations; } } LoopComplete(varTotalAsOfNow, varLoopValue); }

Transferindo Entrada de usurio para o componente A prxima etapa para adicionar cdigo para frmCalculations para receber entrada do usurio e para transferir e receber valores de e para o Calculator Componente. Para implementar front-end funcionalidade para frmCalculations 1. 2. Aberto frmCalculations no Code Editor. Localize a public partial class frmCalculations instruo. Imediatamente abaixo do { tipo:
Calculator Calculator1;

3.

Localize o construtor. Imediatamente antes adicione a seguinte linha: o },


// Creates a new instance of Calculator. Calculator1 = new Calculator();

4.

No designer, clique cada boto para gerar o contorno de cdigo para manipuladores de eventos de cada controle Click e adicione cdigo para criar os manipuladores. Se parecer Quando concluda, seu Click manipuladores de eventos devem com o seguinte:

Visual Studio

94

// Passes the value typed in the txtValue to Calculator.varFact1. private void btnFactorial1_Click(object sender, System.EventArgs e) { Calculator1.varFact1 = int.Parse(txtValue.Text); // Disables the btnFactorial1 until this calculation is complete. btnFactorial1.Enabled = false; Calculator1.Factorial(); } private void btnFactorial2_Click(object sender, System.EventArgs e) { Calculator1.varFact2 = int.Parse(txtValue.Text); btnFactorial2.Enabled = false; Calculator1.FactorialMinusOne(); } private void btnAddTwo_Click(object sender, System.EventArgs e) { Calculator1.varAddTwo = int.Parse(txtValue.Text); btnAddTwo.Enabled = false; Calculator1.AddTwo(); } private void btnRunLoops_Click(object sender, System.EventArgs e) { Calculator1.varLoopValue = int.Parse(txtValue.Text); btnRunLoops.Enabled = false; // Lets the user know that a loop is running lblRunLoops.Text = "Looping"; Calculator1.RunALoop(); }

5.

Aps o cdigo adicionado na etapa anterior, digite o seguinte para manipular os eventos receber do Calculator1 seu formulrio:
private void FactorialHandler(double Value, double Calculations) // Displays the returned value in the appropriate label. { lblFactorial1.Text = Value.ToString(); // Re-enables the button so it can be used again. btnFactorial1.Enabled = true; // Updates the label that displays the total calculations performed lblTotalCalculations.Text = "TotalCalculations are " + Calculations.ToString(); } private void FactorialMinusHandler(double Value, double Calculations) { lblFactorial2.Text = Value.ToString(); btnFactorial2.Enabled = true; lblTotalCalculations.Text = "TotalCalculations are " + Calculations.ToString(); } private void AddTwoHandler(int Value, double Calculations) { lblAddTwo.Text = Value.ToString(); btnAddTwo.Enabled = true; lblTotalCalculations.Text = "TotalCalculations are " + Calculations.ToString(); } private void LoopDoneHandler(double Calculations, int Count) { btnRunLoops.Enabled = true; lblRunLoops.Text = Count.ToString(); lblTotalCalculations.Text = "TotalCalculations are " + Calculations.ToString(); }

6.

Do } no construtor de frmCalculations, adicione o seguinte cdigo imediatamente antes para manipular os eventos personalizados seu formulrio receber do Calculator1.
Calculator1.FactorialComplete += new Calculator.FactorialCompleteHandler(this.FactorialHandler); Calculator1.FactorialMinusOneComplete += new Calculator.FactorialCompleteHandler(this.FactorialMinusHandler); Calculator1.AddTwoComplete += new Calculator.AddTwoCompleteHandler(this.AddTwoHandler); Calculator1.LoopComplete += new Calculator.LoopCompleteHandler(this.LoopDoneHandler);

Teste seus aplicativos Agora voc tenha criado um projeto que incorpora um formulrio e um componente capaz de realizar vrios clculos complexos. Embora voc no tiver implementado capacidade multithreading ainda, voc testar o projeto para verificar sua funcionalidade antes de prosseguir. Para testar seu projeto 1. 2. Partir do Debug menu, escolha Start Debugging. O aplicativo comea e frmCalculations aparece. Na caixa de texto, tipo 4, clique no boto rotulado Add Two. O nmero " 6 " deve ser exibido no rtulo abaixo dele, e devem ser exibidos em lblTotalCalculations " clculos total so 1 ".

Visual Studio

95

3.

Agora clique no boto rotulado Factorial - 1. O nmero " 6 " deve ser exibido sob o boto, e lblTotalCalculations agora leituras " clculos total so 4. "

4.

Em alterar o valor na caixa de texto para 20, seguida, clique no boto rotulado Factorial. O nmero " 2.43290200817664E + 18 " exibido abaixo dele, e lblTotalCalculations agora l " clculos total so 24. "

5.

Altere o valor na caixa de texto para 50000, e, em seguida clique o boto rotulado Run A Loop. Observe que h um intervalo pequeno mas notvel antes este boto seja reativada. O rtulo sob este boto deve ler " 50000 " e os clculos total exibidos so " 25000024 ".

6.

Alterar o valor na caixa de texto para 5000000 e clique no boto rotulado Run A Loop, e clique imediatamente no boto rotulado Add Two. Clique nela novamente. O boto no responder, nem qualquer controle no formulrio ir responder at que os loops tenha sido concludos. Se seu programa executado somente um nico segmento de execuo, clculos muito processor-como o exemplo acima ter a tendncia unir o programa Backup at que os clculos tenha sido concludos. Na prxima seo, voc adicionar capacidade multithreading ao seu aplicativo para que vrios segmentos podem ser executados uma vez.

Adicionando recurso Multithreading O exemplo anterior demonstrado as limitaes de aplicativos executados somente um nico segmento de execuo. Na prxima seo voc usar a Thread classe para adicionar vrios segmentos de execuo ao seu componente. Para adicionar a subrotina segmentos 1. 2. Aberto Calculator.cs no Code Editor. Na parte superior do cdigo, localize a declarao de classe, e imediatamente abaixo, o { tipo o seguinte:
// Declares the variables you will use to hold your thread objects. public System.Threading.Thread FactorialThread; public System.Threading.Thread FactorialMinusOneThread; public System.Threading.Thread AddTwoThread; public System.Threading.Thread LoopThread;

3.

Imediatamente antes do fim da declarao de classe na parte inferior do cdigo, adicione o mtodo a seguir:
public void ChooseThreads(int threadNumber) { // Determines which thread to start based on the value it receives. switch(threadNumber) { case 1: // Sets the thread using the AddressOf the subroutine where // the thread will start. FactorialThread = new System.Threading.Thread(new System.Threading.ThreadStart(this.Factorial)); // Starts the thread. FactorialThread.Start(); break; case 2: FactorialMinusOneThread = new System.Threading.Thread(new System.Threading.ThreadStart(this.FactorialMinusOne)); FactorialMinusOneThread.Start(); break; case 3: AddTwoThread = new System.Threading.Thread(new System.Threading.ThreadStart(this.AddTwo)); AddTwoThread.Start(); break; case 4: LoopThread = new System.Threading.Thread(new System.Threading.ThreadStart(this.RunALoop)); LoopThread.Start(); break; } }

Visual Studio

96

Quando instanciado, ele requer um argumento na forma de. um Thread um ThreadStart O ThreadStart um representante que aponta para o endereo do mtodo onde o segmento para comear. A ThreadStart no pode receber parmetros ou valores secreta, e portanto somente pode indicar um void mtodo. O ChooseThreads mtodo voc apenas implementado receber um valor a partir do programa cham lo e usa esse valor para determinar o segmento apropriado para iniciar. Para adicionar o cdigo apropriado a frmCalculations 1. Abre o frmCalculations.cs arquivo no localize private void btnFactorial1_Click. o Code Editor, 1. Comentrio fora da linha que chama o Calculator1.Factorial1 mtodo diretamente como mostrado:
// Calculator1.Factorial()

2.

Adicione a seguinte linha para chamar o Calculator1.ChooseThreads mtodo:


// Passes the value 1 to Calculator1, thus directing it to start the // correct thread. Calculator1.ChooseThreads(1);

2.

Fazer modificaes semelhantes para os outros button_click mtodos. Observao Certifique-se incluir o valor apropriado para o Threads argumento.

3.

Quando voc tiver terminado, seu cdigo dever ter semelhante seguinte:

private void btnFactorial1_Click(object sender, System.EventArgs e) // Passes the value typed in the txtValue to Calculator.varFact1 { Calculator1.varFact1 = int.Parse(txtValue.Text); // Disables the btnFactorial1 until this calculation is complete btnFactorial1.Enabled = false; // Calculator1.Factorial(); Calculator1.ChooseThreads(1); } private void btnFactorial2_Click(object sender, System.EventArgs e) { Calculator1.varFact2 = int.Parse(txtValue.Text); btnFactorial2.Enabled = false; // Calculator1.FactorialMinusOne(); Calculator1.ChooseThreads(2); } private void btnAddTwo_Click(object sender, System.EventArgs e) { Calculator1.varAddTwo = int.Parse(txtValue.Text); btnAddTwo.Enabled = false; // Calculator1.AddTwo(); Calculator1.ChooseThreads(3); } private void btnRunLoops_Click(object sender, System.EventArgs e) { Calculator1.varLoopValue = int.Parse(txtValue.Text); btnRunLoops.Enabled = false; // Lets the user know that a loop is running lblRunLoops.Text = "Looping"; // Calculator1.RunALoop(); Calculator1.ChooseThreads(4); }

Empacotamento chamadas para controles Agora voc ir facilitam atualizando a exibio no formulrio. Como controles so sempre pertence ao segmento principal de execuo, qualquer chamada para um controle de um segmento subordinada requer uma empacotamento chamada. Empacotamento o ato de mover uma chamada entre limites do segmento, e muito dispendioso em termos de recursos. Para minimizar a quantidade de empacotamento que precisa a ocorrer, e certifique-se que as chamadas sero tratadas de forma isenta de segmentos, voc usar o System.Windows.Forms.Control.BeginInvoke(System.Delegate) mtodo para chamar mtodos no segmento principal de execuo, a quantidade de entre segmentos Boundary-empacotamento que deve ocorrer assim Minimizing. Esse tipo

Visual Studio

97

de chamada necessrio ao chamar mtodos que manipulam controles. Para obter detalhes, consulte HOW TO: Manipulate controles de segmentos. Para criar os procedimentos invoking controle1. Abrir o Editor de frmCalculations cdigo. Na seo Declaraes, adicione o seguinte cdigo:
public delegate void FHandler(double Value, double Calculations); public delegate void A2Handler(int Value, double Calculations); public delegate void LDHandler(double Calculations, int Count);

e InvokeBeginInvoke exigem um representante para o mtodo apropriado como um argumento. Essas linhas declarar o representante assinaturas que sero usadas por BeginInvoke para chamar os mtodos apropriados. 2. Adicionar os seguintes mtodos vazios a seu cdigo.
public void FactHandler(double Value, double Calculations) { } public void Fact1Handler(double Value, double Calculations) { } public void Add2Handler(int Value, double Calculations) { } public void LDoneHandler(double Calculations, int Count) { }

3. 4.

No menu Edit, uso Cut e Paste Para Recortar todo o cdigo do mtodo
FactorialHandler e col-lo em FactHandler.

Repita a etapa anterior para FactorialMinusHandler e Fact1Handler, AddTwoHandler. e Add2Handler, e LoopDoneHandler e LDoneHandler Quando terminar, no deve haver nenhum cdigo restantes em FactorialHandler, Factorial1Handler, AddTwoHandler, e LoopDoneHandler. e todo o cdigo usado para conter esses devem ter sido movidos para novos mtodos apropriados

5.

Chame o BeginInvoke mtodo para chamar os mtodos de forma assncrona. Voc pode chamar BeginInvoke de seu formulrio (this.) ou qualquer um dos controles no formulrio Quando concluda, seu cdigo dever ter semelhante seguinte:
protected void FactorialHandler(double Value, double Calculations) { // BeginInvoke causes asynchronous execution to begin at the address // specified by the delegate. Simply put, it transfers execution of // this method back to the main thread. Any parameters required by // the method contained at the delegate are wrapped in an object and // passed. this.BeginInvoke(new FHandler(FactHandler), new Object[] {Value, Calculations}); } protected void FactorialMinusHandler(double Value, double Calculations) { this.BeginInvoke(new FHandler(Fact1Handler), new Object [] {Value, Calculations}); } protected void AddTwoHandler(int Value, double Calculations) { this.BeginInvoke(new A2Handler(Add2Handler), new Object[] {Value, Calculations}); } protected void LoopDoneHandler(double Calculations, int Count) { this.BeginInvoke(new LDHandler(LDoneHandler), new Object[] {Calculations, Count}); }

Pode parecer que o manipulador de eventos simplesmente est fazendo uma chamada para o mtodo prxima. O manipulador de eventos realmente est causando um mtodo para ser chamado no segmento principal da operao. Essa abordagem salva em chamadas entre limites do segmento e permite que o aplicativos multisegmentados para executar com eficincia e sem medo de causar lockup. Para obter detalhes sobre como trabalhar com controles em

Visual Studio

98

um ambiente com vrios segmentos, consulte HOW TO: Manipulate controles de segmentos. 6. 7. Salve seu trabalho. Teste sua soluo, escolhendo Start Debugging no menu Debug. 1. Digite 10000000 na caixa de texto e clique em Run A Loop. " loop " exibido no rtulo abaixo neste boto. Esse loop deve tomar uma quantidade significativa de tempo para executar. Se conclui muito cedo, ajustar o tamanho do nmero de acordo. 2. Na sucesso rpida, clique em Todos os trs botes que ainda esto ativados. Voc encontrar que todos os botes responder a uma entrada. O rtulo abaixo Add Two deve ser o primeiro para exibir um resultado. Resultados posteriormente sero exibidos nos rtulos abaixo os botes factorial. Esses resultados avaliada como infinito, como o nmero retornado por uma FATORIAL 10,000,000 muito grande para uma varivel de preciso dupla para conter. Finalmente, aps um atraso adicional, resultados so retornados no Run A Loop boto abaixo. Como voc apenas observado, quatro conjuntos separados de clculos foram executados simultaneamente em quatro segmentos separados. A interface do usurio permaneceu responde s solicitaes, e eles foram retornados aps cada segmento concludo. Coordenar seus segmentos Um usurio experiente de aplicativos multisegmentados pode Perceive uma falha sutis com o cdigo como digitado. Recuperar as linhas de cdigo de cada mtodo desempenho clculo-em Calculator:
varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations;

Estas duas linhas de cdigo incrementar a varivel varTotalCalculations Pblica e defina a varivel varTotalAsOfNow local com esse valor. Esse valor retornado ao frmCalculations e exibido em um controle rtulo. Mas o valor correto sendo retornado? Se apenas um nico segmento de execuo estiver sendo executado, a resposta claramente Sim. Mas se vrios segmentos em execuo, a resposta ser mais certeza. Cada segmento tem a capacidade para incrementar a varivel varTotalCalculations. possvel que aps um segmento incrementa essa varivel, mas antes ele copia o valor a varTotalAsOfNow, outro segmento pode alterar o valor desta varivel por incrementando-. Isso leva possibilidade que cada segmento na verdade, est, relatando resultados imprecisos. do Declarao lock (Referncia do C#) fornece Visual C# para permitir sincronizao de segmentos para garantir que cada segmento sempre retorna um resultado preciso. A sintaxe para lock a seguinte:
lock(AnObject) { // Insert code that affects the object. // Insert more code that affects the object. // Insert more code that affects the object. // Release the lock. }

Quando o lock Bloco for digitado, execuo na expresso especificada ser bloqueada at que o segmento especificado tem um bloqueio exclusivo no objeto em questo. No exemplo mostrado acima, a execuo est bloqueada no AnObject. Deve lock ser usado com um objeto que retorna uma referncia em vez de um valor. A execuo pode prossiga como um bloco sem interferncia de outros segmentos. Um conjunto de instrues que execute como uma unidade so disse para ser atmicas. Quando encontrado, a expresso liberada e os segmentos so permitidos para continuar normalmente. o }

Visual Studio

99

Para adicionar a instruo de bloqueio ao seu aplicativo 1. 2. Aberto Calculator.cs no Code Editor. Localizar cada ocorrncia do cdigo a seguir:
varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations;

Deve haver quatro instncias desse cdigo, um em cada mtodo de clculo. 3. Modifique este cdigo para que ele l da seguinte maneira:
lock(this) { varTotalCalculations += 1; varTotalAsOfNow = varTotalCalculations; }

4.

Salve seu trabalho e test-lo como no exemplo anterior. Voc pode perceber um pequeno impacto no desempenho do seu programa. Isso ocorre porque a execuo de segmentos pra quando um bloqueio exclusivo obtido no seu componente. Embora ele garante a preciso, essa abordagem impedes alguns dos benefcios de desempenho de vrios segmentos. Voc deve cuidadosamente considerar a necessidade de segmentos, bloqueio e implement-las somente quando absolutamente necessrio.

Walkthrough: Inheriting a partir de um controle do Windows Forms com Visual C#


Com Visual C# 2005, voc pode criar poderosos controles personalizados atravs Herana. A herana capaz de criar controles que mantenham toda da funcionalidade inerente do Windows Forms controles padro mas tambm incorporar funcionalidade personalizada. Nessa explicao passo a passo, voc criar um controle herdado simples chamado ValueButton. Esse boto herdaro funcionalidade do controle Windows Forms Button padro, e ser expor uma propriedade personalizada chamada ButtonValue. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Criando o projeto Quando voc cria um novo projeto, voc especificar seu nome, para definir o raiz, nome conjunto, e nome do projeto, e para garantir que o componente padro ser no espao para nome correto. Para criar a biblioteca controle ValueButtonLib e o controle ValueButton 1. 2. No menu File, aponte para New e clique Project para abrir a New Project caixa de dilogo. Selecione o Windows Control Library modelo de projeto a partir da lista de Visual C# projetos e tipo ValueButtonLib na caixa Name. O projeto nome, ValueButtonLib, tambm atribuda para a raiz por padro. A raiz usado para qualificar os nomes dos componentes no conjunto. Por exemplo, se dois conjuntos de mdulos (assemblies) fornecer componentes nomeado ValueButton, voc pode especificar seu ValueButton componente usando

Visual Studio

100

ValueButtonLib.ValueButton Para obter mais informaes, consulte Namespaces

(Guia de programao C#). 3. Em Solution Explorer, clique com o boto direito do mouse UserControl1.cs e depois escolha Rename No menu de atalho. Alterar o nome do arquivo para ValueButton.cs. Clique no Yes boto quando lhe for perguntado se voc deseja renomear todas as referncias para o elemento de cdigo ' UserControl1 '. No Solution Explorer, clique com o boto direito do mouse ValueButton.cs e selecione View Code. Localize a class linha public partial class ValueButton Instruo,. e alterar o tipo do qual esse controle herdado UserControl para Button Isso permite que o controle herdadas para herdar todas as funes do controle Button. No Solution Explorer, abra o ValueButton.cs n para exibir o arquivo cdigo gerado pelo designer-, ValueButton.Designer.cs. Abrir este arquivo no Code Editor. Localize o InitializeComponent mtodo e remover a linha que atribui a AutoScaleMode propriedade. Essa propriedade no existe no controle Button. No menu File, optar Save All por salvar o projeto. Observao Um criador visual est no mais disponvel. Porque o Button controle faz sua prpria pintura, voc no consegue para modificar sua aparncia no designer. Sua representao visual ser ser exatamente a mesma que a classe ela herda da) (ou seja, Button a menos que modificado no cdigo de. Ainda assim voc pode adicionar componentes, que tm nenhum elemento UI, para a superfcie de design. Adicionar uma propriedade ao seu controle Inherited Um uso possveis de herdadas controles Windows Forms a criao de controles que so idnticos no aspecto e estilo de padro controles Windows Forms, mas expe propriedades personalizadas. No nesta seo, voc adicionar uma propriedade chamada ButtonValue para o controle. Para adicionar a propriedade Value 1. Na Solution Explorer, clique com o boto direito do mouse ValueButton.cs e, em seguida clique na View Code partir do menu de atalho. Localize a class instruo. Imediatamente aps o { tipo o cdigo a seguir: [C#]
// Creates the private variable that will store the value of your // property. private int varValue; // Declares the property. public int ButtonValue { // Sets the method for retrieving the value of your property. get { return varValue; } // Sets the method for setting the value of your property. set { varValue = value; } }

4. 5.

6.

7. 8.

2.

Este cdigo define os mtodos pelo qual a ButtonValue propriedade est armazenados e recuperados. A get instruo define o valor retornado para o valor que armazenado na varivel varValue particular, e a set instruo define o valor da varivel particular pelo uso da palavra-chave value. 3. No menu File, optar Save All por salvar o projeto. Teste O controle

Visual Studio

101

Controles so projetos no autnoma; eles deve ser hospedado em um continer. A fim de testar o controle, voc deve fornecer um projeto de teste para que ele seja executado. Voc tambm deve tornar o controle acessveis para o projeto teste criando (compilao)-lo. No nesta seo, ser criar o controle e test-lo em um formulrio do Windows. Para criar o controle

No menu Build, clique em Build Solution. A compilao deve ser bem-sucedida sem nenhum erros do compilador ou avisos.

Para criar um projeto de teste 1. 2. 3. 4. No menu File, aponte para Add e clique New Project para abrir a Add New Project caixa de dilogo. Selecione o Windows n, sob o Visual C# n, e clique em Windows Application. Na caixa Name, digite Test. No Solution Explorer, clique com o boto direito do mouse no References n do seu projeto de teste, em seguida, selecione Add Reference a partir do menu de atalho para exibir a Add Reference caixa de dilogo. Clique na guia rotuladas Projects. O ValueButtonLib projeto ser listado em Project Name. Clique duas vezes o projeto para adicionar a referncia para o projeto de teste. Clique com boto direito no Solution Explorer, mouse Test e selecione Build. No Solution Explorer, clique com o boto direito do mouse Form1.cs e escolha View Designer a partir do menu de atalho. Na Toolbox, clique ValueButtonLib Components. Clique duas vezes ValueButton. A ValueButton aparece no formulrio. 3. 4. Clique com o boto direito do mouse e selecione Properties a partir do menu de atalho. o ValueButton Na janela Properties, examine as propriedades deste controle. Observe que eles so idntico s propriedades expostos por um boto padro, exceto que no h uma propriedade adicionais, ButtonValue. Defina a ButtonValue propriedade como 5. Na guia All Windows Forms da Toolbox, clique duas vezes Label Para adicionar um Label controle ao seu formulrio. Realoque o rtulo para o centralizar do formulrio. Clique duas vezes valueButton1. A Code Editor abre para o valueButton1_Click evento. 9. Inserir a linha de cdigo a seguir. [C#]
label1.Text = valueButton1.ButtonValue.ToString();

5.

6.

Para adicionar o controle ao formulrio 1. 2.

5. 6. 7. 8.

Visual Studio

102

10. No Solution Explorer, clique com o boto direito do mouse Test e escolha Set as Startup Project No menu de atalho. 11. No menu Debug, selecione Start Debugging. Aparece Form1. 12. Clique em valueButton1. O nmero ' 5 ' exibida no label1, demonstrando que a ButtonValue propriedade do seu controle herdado foi passado para label1 atravs do valueButton1_Click mtodo. Assim o ValueButton controle herda todas as funes do boto Windows Forms padro, mas expe uma propriedade adicionais e personalizados.

Visual Studio

103

Explicaes passo-a-passo do Visual Studio


Essas orientaes introduzir as reas importantes do produto Visual Studio. Explicao passo a passo cada discute o desenvolvimento de um tipo aplicativo especfico ou recurso de aplicativo principal usando uma srie de instrues passo a passo. Na maioria dos casos, explicao passo a passo cada incorpora mtodos ou recursos de partes diferentes do Visual Studio. Isso fornece uma introduo prtica para os vrios recursos principais do Visual Studio de uma maneira clara e ordenada.

Walkthroughs de aplicativos cliente Rich


O aplicativo rich client tpica um executvel autnomo com uma interface grfica composta de vrios controles para o usurio. As orientaes seguir descrevem o processo de Criando aplicativo com base em formulrios usando vrios tipos controle diferente, conexo com um banco de dados existente, e depois exibir os dados no formulrio. Observao O objetivo principal dessas orientaes para demonstrar os vrios recursos do Visual Studio disponveis para o desenvolvedor do cliente Rich. Portanto, o aplicativo rich client tpico contm um subconjunto dos recursos apresentados. Nesta seo Criando um aplicativo cliente Rich com MFC Demonstra como criar uma interface cliente rico-usando a biblioteca) classe MFC (Microsoft Foundation, uma biblioteca de classes Well-tested que compatvel diversos amplo de recursos comuns a todos os aplicativos Windows, e Consumir um servio XML da Web criado com Visual Basic ou Visual C#. Sees relacionadas Criar um formulrio simples do Windows Usando um exemplo simples mas completa, ilustra as etapas fundamentais necessrias para criar Windows Forms no Visual Basic e Visual C#. Demonstrar herana Visual Descreve como criar um formulrio Windows base e compil-lo em uma biblioteca de classes. Voc ir importar esta biblioteca de classes para outro projeto, e criar um novo formulrio herdeira do formulrio bsico. Criar um aplicativo distribudos Explica como criar um aplicativo de vrias camadas, distribudos que tem um cliente Windows Rich e uma interface do navegador. Walkthroughs do Windows Forms Lista orientaes adicionais que podem ser executados para familiarizar-se com recursos do Visual Studio.

Visual Studio

104

Walkthrough: Criando um aplicativo cliente Rich com MFC


Explicao passo a passo o seguir descreve um procedimento para criar um aplicativo rich client MFC-Based e vrios outros recursos do Visual Studio .NET. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:
o o o

Criar uma soluo-com base MFC que exibe dados de um banco de dados existente e exibe os seguintes recursos usando vrias caixas de dilogo: Hospedando um controle ActiveX sem janelas Usando dinmico caixas de dilogo HTML (DHTML) Validando o usurio do aplicativo usando um servio XML da Web existente.

Para concluir o explicao passo a passo, deve fornecer um banco de dados existente e pelo menos uma tabela pesquisvel. Observao Essa explicao passo a passo usa o pubs banco de dados e authors tabela como um banco de dados exemplo e tabela. Criar o aplicativo cliente Rich MFC Para criar o aplicativo MFC 1. 2. 3. 4. No menu File, clique em New, e clique em Project A New Project caixa de dilogo ser exibida. No painel tipos Project, clique em Visual C++ Projects, e em Painel Modelos, clique no MFC Application cone. Na caixa Name, digite MyProject. Clique OK para fechar a caixa de dilogo e abrir o MFC Application Wizard.

Usando o MFC Application Wizard, voc modificar seu projeto para oferecer suporte o acesso a bancos de dados e exibir recursos do aplicativo rich client. Observao Essa explicao passo a passo presume que o servidor est sendo acessado um servidor SQL e o pubs banco de dados que existe no servidor. Para implementar suporte a banco de dados 1. 2. 3. 4. 5. 6. No MFC Application Wizard, selecione Database Support. Selecione a Database View with File Support opo. Clique no Data Source boto. Na caixa OLE DB Provider(s) de listagem, clique no Microsoft OLE DB Provider for SQL Server item e clique em Next. Digite ou selecione um nome de servidor existente. Selecione Use Windows NT Integrated Security.

Visual Studio

105

7. 8. 9.

Selecione o pubs banco de dados. Clique no OK boto para estabelecer a conexo. Na caixa Select Database Object de dilogo, selecione a authors tabela.

10. Selecione OK para fechar a caixa de dilogo. 11. Clique Finish para criar o aplicativo estrutura. 12. Aps a criao do projeto, ser necessrio remover a #error linha de MyProjectSet.h. Depois que o aplicativo estrutura for criado, principais recursos podem ser adicionados. Acessar e exibir dados de um banco de dados existente Nesta seo, voc usar um formulrio simples e controle para demonstrar o acesso e exibio dos dados da tabela authors. Porque este apenas uma demonstrao, consulta e exibio so simples. Os resultados da consulta (todos os autores na tabela) so exibidos em uma caixa de listagem. O MyProject aplicativo j contm um objeto de formulrio (chamado IDD_MYPROJECT_FORM) localizado sob o n dilogo no modo de exibio de recurso,. Voc ir modificar este formulrio para exibir uma lista simples de autores da tabela authors. Para modificar o formulrio 1. 2. 3. No modo de exibio de recursos, expanda o Projeto, expanda o Dialog n, e clique duas vezes no objeto de formulrio padro). (IDD_MYPROJECT_FORM Arraste um List Box controle para o formulrio padro. Clique com o boto direito do mouse no List Box controle e, no menu de atalho, clique em Add Variable. O Add Member Variable Wizard aparece. 4. 5. 6. Na caixa Variable name, digite m_DataList e clique em Finish. Arraste um Button controle para o formulrio padro. Na janela Propriedades, alterar a Caption caixa para Control Host. Arraste um Button controle para o formulrio padro. Na janela Propriedades, alterar a Caption caixa para DHTML Dialog. Observao Esses dois controles sero usados posteriormente no explicao passo a passo o para acessar outros recursos do aplicativo. Para exibir os resultados da consulta 1. 2. No modo classe, expanda o n de projeto e clique duas vezes no
OnInitialUpdate mtodo da classe CMyProjectView.

Adicione o seguinte cdigo aps qualquer cdigo existente na funo:


HRESULT hr = S_OK; TCHAR szAuthor[80]; CMyProjectSet &dbset = GetDocument()>m_MyProjectSet; [db_command(name="cmd", source_name="dbset", hresult=hr) { SELECT au_lname ([bindto]szAuthor) FROM AUTHORS }]; while(cmd.MoveNext() == S_OK) m_DataList.InsertString(-1, szAuthor);

Visual Studio

106

Esse cdigo usa o db_command atributo ao inicializar o conjunto de dados de objeto do documento (m_MyProjectSet.) com os nomes de todos os autores atuais na tabela ltima 3. 4. No menu Build, clique em Build Solution. No menu Debug, clique em Start Without Debugging. Os resultados da consulta sero exibidos na caixa de listagem do formulrio modo filho. Criando e hospedando um controle ActiveX sem janelas A modificao prxima para o aplicativo rich client uma caixa de dilogo que hospeda um controle personalizado simples sem janelas. A primeira etapa para criar um controle ActiveX personalizado com um evento simples. Em seguida um objeto Caixa de dilogo criado que contm o controle e manipular o evento de controle. Para criar o controle personalizado 1. 2. 3. 4. 5. 6. 7. 8. 9. No Explorer Solution, clique com o boto direito do mouse a MyProject Soluo. No menu de atalho, clique em Add, e clique em New Project A New Project caixa de dilogo ser exibida. No painel tipos Project, selecione Visual C++ Projects, e no painel Modelos, clique no ATL Project cone Digite CustomCtl para o nome do novo projeto e clique em OK. O ATL Project Wizard aparece. Clique Finish para aceitar as configuraes padro e criar o projeto. Clique com o CustomCtl projeto. No menu de atalho, clique em Add, e clique em Add Class A Add Class caixa de dilogo ser exibida. Clique duas vezes no ATL Control item. O ATL Control Wizard aparece. Na ATL Control Wizard, insira MyCtl na caixa Short name. 10. Na pgina Options, escolha Connection points. 11. Clique Finish para criar o objeto controle personalizado. Depois que o controle for criado, voc adicionar um evento simples chamado Click. Este evento acionado pelo controle sempre que o mouse clicado na rea de controle. Para criar o evento Click 1. 2. 3. 4.
o

No modo de classe, expanda o CustomCtl n. Clique com o boto direito do mouse o interface de eventos para o controle personalizado (_IMyCtlEvents). No menu de atalho, clique em Add, e clique em Add Method Insira os seguintes valores usando o Adicionar Assistente mtodo: Return typevoid

Visual Studio

107

Method nameClick Clique Finish para criar o Click evento. No modo de classe, selecione a classe de controle (CMyCtl). Na janela Propriedades, clique no Messages boto e adicionar um
OnLButtonDown manipulador para a WM_LBUTTONDOWN mensagem.

5. 6. 7. 8.

Adicione o seguinte cdigo para o corpo do manipulador:


Click(); return 0;

9.

No menu Build, clique em Build Solution.

Depois que a soluo cria com xito, uma caixa de dilogo simples pode hospedar o controle. Para hospedar o controle 1. 2. 3. 4. No modo de exibio do recurso, clique com o boto direito do mouse a MyProject Soluo. No menu de atalho, clique em Add, e clique em Add Resource Clique no Dialog item e clique em New. Clique com boto direito mouse na IDD_DIALOG1 caixa de dilogo e clique Add Class no menu de atalho. O assistente classe MFC aparece. 5.
o o

No Assistente para classe MFC, insira os seguintes valores: Class nameCMyCtlDlg Base classCDialog Clique em Finish. Clique com o boto direito do mouse na IDD_DIALOG1 caixa de dilogo e selecione Insert ActiveX Control no menu de atalho. Na caixa de dilogo, selecione CMyCtl Object e Insert ActiveX Control clique OK para adicionar o controle. Selecione o controle ActiveX em um modelo de dilogo.

6. 7. 8. 9.

10. Na janela Propriedades, clique o Control Events boto e adicione um ClickMyctl1 manipulador para o Click evento. 11. Adicione o seguinte cdigo para o corpo do manipulador de eventos:
AfxMessageBox("Click event fired");

A etapa final envolve conectando a caixa de dilogo para o aplicativo rich client. Isso feito com cdigo no manipulador para o boto Controlar host voc criou anteriormente, no tpico Accessing and Displaying Data from an Existing Database. Para exibir a caixa de dilogo de controle host 1. Do IDD_MYPROJECT_FORM no modo de exibio de recursos, exibir o formulrio principal clicando duas vezes (localizada sob o Dialog n do arquivo de recurso para a MyProject Soluo). Clique duas vezes no Control Host boto, adicionada anteriormente. Adicione o seguinte cdigo para a funo do manipulador:

2. 3.

Visual Studio

108

CMyCtlDlg dlg; dlg.DoModal( );

4.

Adicione o cdigo a seguir aps a ltima #include Instruo no arquivo de origem atual:
#include "MyCtlDlg.h"

Isso inclui o arquivo.h da classe implementar a caixa de dilogo Controle host. 5. 6. No menu Build, clique em Build Solution. No menu Debug, clique em Start Without Debugging.

Voc pode chamar a caixa de dilogo host controle pressionando o Control Host boto. Acionam o evento personalizado Click clicando no boto esquerdo do mouse dentro do controle. Implementar uma caixa de dilogo DHTML Outro recurso dos aplicativos cliente Rich o uso de caixas de dilogo que utilizam HTML para a interface do usurio em vez de recursos dilogo tradicional. Para fins dessa explicao passo a passo, uma caixa de dilogo DHTML simples ser implementada, contendo um controle de imagem que exibe um bitmap simples. Para implementar a caixa dilogo DHTML 1. 2. 3. 4. 5. 6.
o o

Clique no modo de exibio de recursos, com o MyProject projeto. No menu de atalho, clique em Add, e clique em Add Resource Clique no Dialog item e clique New para criar uma nova caixa de dilogo. Remover esses so implementados em HTML nas etapas subseqentes. e Cancel Botes do modelo de dilogo; o OK Clique com o boto direito do mouse o IDD_DIALOG2 formulrio Caixa de dilogo e selecione Add Class Insira os seguintes valores: Class nameCMyDhtmlDlg Base classCDHtmlDialog Clique em Finish. No modo de exibio de recursos, sob o n HTML, clique duas vezes no
IDR_HTML_MYDHTMLDLG item e clique na guia HTML no painel do projeto para

7. 8.

editar o arquivo HTML associado. 9. Substituir o texto existente (que deve ser semelhante TODO: Place controls here). com This is the text content of my DHTML dialog box

Como com o dilogo Host de controle implementado anteriormente, esta caixa de dilogo ser exibida quando o usurio pressiona um boto (DHTML Dialog.) no formulrio principal do aplicativo Para exibir a caixa de dilogo DHTML 1. Do IDD_MYPROJECT_FORM no modo de exibio de recursos, exibir o formulrio principal clicando duas vezes (localizada sob o n de dilogo do arquivo de recurso para a MyProject Soluo). Clique duas vezes no DHTML Dialog boto, adicionada anteriormente. Adicione o seguinte cdigo para a funo do manipulador:

2. 3.

Visual Studio

109

CMyDhtmlDlg dlg; dlg.DoModal( );

4.

Adicione o cdigo a seguir aps a ltima #include Instruo no arquivo de origem atual:
#include "MyDhtmlDlg.h"

Isso inclui o arquivo.h da classe implementao caixa de dilogo DHTML. 5. 6. No menu Build, clique em Build Solution. No menu Debug, clique em Start Without Debugging.

Quando for exibida, caixa de dilogo Abrir a caixa de dilogo DHTML pressionando o DHTML Dialog boto. Para obter mais informaes sobre caixas de dilogo DHTML e um exemplo mais completo, consulte a CDHtmlDialog classe e a DHtmlExplore amostra. Criando e Consuming um servio da Web XML existente Ocasionalmente, um aplicativo rich client interage com um servio XML da Web externo, fornecendo um Rich front-end para um banco de dados existente ou bancos de dados. O usurio ento possam interagir com os dados de uma maneira familiarizado ou grfica. Nesta etapa, voc ir criar um servio da Web XML simples projetado para ser executado em um servidor Web usando o Microsoft Internet Information Services (IIS). Para criar o servio da Web XML 1. 2. 3. 4. No menu File, clique em New, e clique em Project A New Project caixa de dilogo ser exibida. No painel tipos Project, clique em uma Visual Basic Projects ou Visual C# Projects,. e no painel Modelos, clique no ASP.NET Web Service cone Na caixa Location, digite http://localhost/MyService. Clique OK para fechar a caixa de dilogo e criar a soluo.

Uma parte da servios XML da Web comum consiste em verificar cada usurio do aplicativo. Aps criar a soluo, voc pode implementar um mtodo simples de validao. Essa rotina de validao deliberadamente simples para ilustrar o conceito claramente. Depois que a soluo foi criada, adicionar um mtodo de validao ao Service1.asmx arquivo de origem. Para fazer isso, clique com o boto direito do mouse a Service1.asmx.cs superfcie de design e selecione View Code Substituir o HelloWorld mtodo da Web no final do arquivo com o cdigo a seguir:
' Visual Basic <WebMethod()> Function Validate(ByVal s1 As String, ByVal s2 As String) As Boolean Return s1 = s2 End Function // C# [WebMethod] public bool Validate(string s1, string s2) { return s1 == s2; }

Depois voc modificou o arquivo de origem, Criar a soluo. Depois que o servio da Web XML existir, voc pode adicionar e configurar uma referncia da Web com caixa Add Web Reference de dilogo. Para adicionar uma referncia da Web para o aplicativo do cliente 1. Abra a MyProject Soluo.

Visual Studio

110

2.

No Solution Explorer, clique com o MyProject projeto e selecione Add Web Reference. A Add Web Reference caixa de dilogo ser exibida. Em Browse to, selecione Web services on the local machine. A mquina local ser exibido; selecione aquele que voc acabou de criar uma lista de servios XML da Web existente no (Service1). Se o servio da Web for encontrado, um descrio do servio ser exibida no painel esquerdo e boto Add Reference ser ativado. O URL do arquivo.asmx para o servio da Web tambm deve aparecer na caixa URL da; ele deve aspecto como este:
http://localhost/MyService/Service1.asmx

3.

4.

Clique no Add Reference boto.

Assim que a referncia da Web for adicionada, voc adicionar uma caixa de dilogo de validao para demonstrar a interao entre o aplicativo e o servio da Web XML. Para adicionar uma caixa de dilogo de validao 1. 2. 3. 4. 5.
o o

Clique no modo de exibio de recursos, com o MyProject projeto. No menu de atalho, clique em Add, e clique em Add Resource Clique duas vezes no Dialog item. Clique duas vezes no IDD_DIALOG3 formulrio Caixa de dilogo. O assistente classe MFC aparece. Insira os seguintes valores: Class nameCMyValidateDlg Base classCDialog Clique em Finish.

6.

Agora que a caixa dilogo foi criada, adicionar controles para fornecer um servio de validao para o usurio. Para validar o usurio 1. 2. 3. 4. 5. 6. 7. 8. 9. Arraste dois Edit control controles para o IDD_DIALOG3 formulrio Caixa de dilogo. Clique com o boto direito do mouse na primeira Edit control. No menu de atalho, selecione Add Variable. Na caixa Variable Name, digite m_Name. No menu Category drop-down, selecione Value. Clique em Finish. Clique com o boto direito do mouse no segundo Edit control Controle. Adicionar outra varivel (chamada m_Password de categoria Value). Clique duas vezes no OK boto no formulrio Caixa de dilogo.
Service1::CService1 *s = new Service1::CService1(); UpdateData(TRUE); bool result = false; s>Validate(CComBSTR(m_Name), CComBSTR(m_Password), &result); if (result) CDialog::OnOK();

10. Adicione o seguinte cdigo para a funo do manipulador:

Visual Studio

111

11. Adicione o cdigo a seguir aps a ltima #include Instruo no arquivo de origem atual:
#include "WebService.h"

Isso inclui o arquivo.h do servio da Web usado por caixa de dilogo de validao. Para a rotina de validao para ser eficiente, caixa de dilogo de validao deve ser o primeiro objeto Interface de usurio seja exibido. Se o usurio inserir o nome correto e a senha a aplicativo rich client sero exibidos. Ser se um nome incorreto ou senha for inserida, o usurio atual ser impedido de acessar o aplicativo rich client. Para implementar esse comportamento, modifique a InitInstance funo da classe do aplicativo principal para chamar esta caixa de dilogo primeiro. O aplicativo continua somente quando a caixa dilogo corretamente sai. Para exibir a caixa de dilogo de validao inicialmente 1. 2. 3. No modo de classe, expanda o CMyProjectApp n. Clique duas vezes a InitInstance funo para editar o corpo funo. Adicione o seguinte cdigo antes que a chamada para a ShowWindow funo do objeto pMainFrame:
// Display the validation dialog box first CMyValidateDlg dlg; if (dlg.DoModal() != IDOK) return FALSE;

4.

Adicione o cdigo a seguir aps a ltima #include Instruo no arquivo de origem atual:
#include "MyValidateDlg.h"

Isso inclui o arquivo.h da caixa de dilogo de validao. 5. 6. Compilar uma soluo. No menu Build, clique em Build Solution. No menu Debug, clique em Start Without Debugging. Na caixa de dilogo de verificao, inserir o mesmo texto nas caixas de edio Nome e senha, e clique em OK. O aplicativo rich client ser executada, exibindo sua caixa de dilogo principal.

Criar um projeto de instalao A etapa final ao desenvolver seu aplicativo Visual C++ est criando um projeto de instalao. Para criar um projeto de instalao 1. 2. 3. 4. 5. No Explorer Solution, clique com o boto direito do mouse a MyProject Soluo. No menu de atalho, clique em Add, e clique em New Project A New Project caixa de dilogo ser exibida. No painel tipos Project, selecione Setup and Deployment Projects, e no painel Modelos, clique no Setup Wizard cone Digite MySetup o nome do projeto de instalao para e clique em OK. O Assistente para Instalao ser exibido. Clique em Next duas vezes.

Visual Studio

112

6.
o o

Selecione os seguintes grupos de sada: Sada de MyProject principal Sada de CustomCtl principal Clique em Next duas vezes. Clique em Finish No menu Build, clique em Build MySetup.

7. 8. 9.

O arquivo resultante (MySetup) pode ser copiado para uma mquina de destino para instalao do aplicativo rich client. Para obter mais informaes sobre projetos de implantao e o Assistente para instalao, consulte Implantar aplicativos, Projetos de implantao. e Walkthroughs de implantao

Visual Studio

113

Walkthroughs Application de formulrios da Web


O objetivo dessas orientaes para mostrar como criar um site da Web usando pginas da Web e controles ASP.NET. A tabela a seguir lista uma seleo de orientaes que fornecer uma viso geral dos recursos ASP.NET. Por trabalhar com essas orientaes, voc aprender sobre a criao de sites, criar e editar pginas da Web, conectando a fontes de dados, criando um objeto comercial da camada intermediria, e usar outros recursos ASP.NET para personalizar os sites e pginas. Walkthrough Passo-a-passo: Criando uma pgina da Web bsica no Visual Web Developer Passo-a-passo: Acesso a dados bsico em pginas da Web Descrio Uma introduo ao criar pginas da Web ASP.NET no Visual Studio. Uma introduo ao exibir dados em uma pgina da Web usando os controles da fonte de dados e o GridView controle. Uma introduo ao criar um componente de camada intermediria que torna dados disponvel para pginas da Web. Uma introduo ao usar o depurador Visual Studio com pginas da Web. Uma introduo ao usar pginas mestras ASP.NET para definir um layout geral para pginas da Web.

Passo a passo: Ligao de dados em um objeto corporativo personalizado

Passo-a-passo: Depurao de Pginas da Web no Visual Web Developer Passo-a-passo: Criando e Usando Pginas Mestras do ASP.NET no Visual Web Developer Passo-a-passo: Personalizando um site usando temas no Visual Studio Passo-a-passo: Criando uma pgina do Web Parts no Visual Web Developer

Uma introduo ao definir um aparncia consistente para suas pginas da Web. Uma introduo ao criar uma pgina da Web que usa Partes da Web para permitir que o usurio para personalizar o contedo e layout de uma pgina. Uma introduo a adicionar segurana logon em um site da Web.

Passo a passo: Criando um site com associao e logon de usurio (Visual Studio) Passo a passo: Criando e usando um servio da Web do ASP.NET no Visual Web Developer

Uma introduo ao criar um servio da Web ASP.NET e consumindo-lo de uma pgina da Web.

Visual Studio

114

Explicao Passo a Passo: Criando uma Pgina Web Bsica no Visual Web Developer
Esta explicao passo a passo fornece uma introduo ao Microsoft Visual Web Developer. Ela orienta voc atravs da criao de uma pgina simples usando o Visual Web Developer, ilustrando as tcnicas bsicas de criao de uma nova pgina, adicionando controles e escrevendo cdigo. As tarefas ilustradas nesta explicao passo a passo incluem:

Criar um site Web do sistema de arquivos. Familiarizando-se com o Visual Web Developer. Criando uma pgina ASP.NET Single-File no Visual Web Developer. Adicionar controles. Adicionar manipuladores de eventos. Executar pginas com o Servidores Web em Visual Web Developer. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:


Visual Web Developer O .NET Framework Criando um Site e Pgina Web

Nesta parte da explicao passo a passo, voc criar um site Web e adicionar uma nova pgina a ele. Voc tambm adicionar um texto HTML e executar a pgina no seu navegador Web. Para esta explicao passo a passo, voc criar um site Web do sistema de arquivos que no requer que voc trabalhe com o Internet Information Services (IIS) da Microsoft. Em vez disso, voc criar e executar sua pgina no sistema de arquivos local. Um sistema de arquivos do site Web um sistema que armazena pginas e outros arquivos em uma pasta que voc escolhe em algum lugar em seu computador local. Outras opes de site Web incluem um site Web do IIS local, que armazena seus arquivos em uma subpasta da raiz do IIS local (normalmente, \Inetpub\Wwwroot\). Um site FTP armazena arquivos em um servidor remoto que voc acessa atravs da Internet, usando o File Transfer Protocol (FTP). Um site remoto armazena arquivos em um servidor remoto que voc pode acessar atravs de uma rede local. Para mais informaes, consulte Explicao Passo a Passo: Editando Sites Web com FTP no Visual Web Developer. Alm disso, os arquivos do site Web podem ser armazenados em um sistema de controle de origem como o Visual SourceSafe. Para mais informaes, consulte Introduo ao Controle de Origem. Para criar um site Web do sistema de arquivos 1. 2. Abra o Visual Web Developer. No menu File, aponte para New, e em seguida, clique em Web site A caixa de dilogo New Web Site aparece como mostrado na screen shot a seguir.

Visual Studio

115

Caixa de dilogo New Web Site

3.

No Visual Studio installed templates, clique em ASP.NET Web Site. Quando voc cria um site Web, voc especifica um modelo. Cada modelo cria um aplicativo Web que contm arquivos e pastas diferentes. Nesta explicao passo a passo, voc est criando um site Web baseado no modelo ASP.NET Web Site, que cria algumas pastas e alguns arquivos padro.

4.

Na caixa Location, selecione a caixa File System e seguida, digite o nome da pasta onde voc deseja manter as pginas do seu site Web. Por exemplo, digite o nome da pasta C:\BasicWebSite. Na lista Language, clique em Visual Basic ou Visual C#. A linguagem de programao que voc escolher ser o padro para seu site Web. Entretanto, voc pode usar vrios idiomas no mesmo aplicativo Web, criando pginas e componentes em linguagens de programao diferentes

5.

6.

Clique em OK. O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx. Quando uma nova pgina criada, por padro, o Visual Web Developer exibe a pgina no modo Source, onde voc pode ver os elementos HTML da pgina. O screen shot a seguir mostra o modo Source de uma pgina Web padro. Modo Source de uma pgina padro

Um Tour do Visual Web Developer Antes de voc prosseguir trabalhando na pgina, til voc se familiarizar com o ambiente de desenvolvimento do Visual Web Developer. A ilustrao a seguir mostra as janelas e ferramentas que esto disponveis no Visual Web Developer. Diagrama do ambiente Visual Web Developer

Para se familiarizar com o designer da Web em Visual Web Developer

Examinar a ilustrao anterior e corresponder o texto para a lista a seguir, que descreve as janelas e ferramentas mais comumente usadas. (Nem todas as janelas e ferramentas que voc v so listadas aqui, somente as marcadas na ilustrao anterior.) Barras de ferramentas. Fornecem comandos de formatao de texto, localizao de texto, e assim por diante. Algumas barras de ferramentas fico disponveis somente quando voc est trabalhando em modo Design. Solution Explorer. Exibe os arquivos e pastas em seu site Web. Janela de Documento. Exibem os documentos com os quais voc est trabalhando em janelas com guias. Voc pode alternar entre documentos clicando nas guias. Janela de Propriedades. Permite que voc altere as configuraes da pgina, dos elementos HTML, dos controles e de outros objetos.

o o

Visual Studio

116

Guias de Exibio. Mostra diferentes modos de exibio do mesmo documento. Modo Design uma superfcie de edio prxima ao WYSIWYG. Modo Source o editor HTML para a pgina. Voc trabalhar com esses modos posteriormente nesta explicao passo a passo. Se voc preferir abrir as pginas Web em modo Design, no menu Tools, clique em Options, selecione o n HTML Designer e altere a opo Start Pages In. Caixa de Ferramentas. Fornece controles e elementos HTML que voc pode arrastar para a sua pgina. Os elementos da caixa de ferramentas so agrupados por funo em comum. Server Explorer/Database Explorer. Exibe conexes de banco de dados. Se o Server Explorer no estiver visvel no Visual Web Developer, no menu View, clique em Other Windows, e clique em Server Explorer. Observao Voc pode reorganizar e redimensionar as janelas para atender suas preferncias. O menu View permite exibir janelas adicionais.

Criando uma Nova Pgina Web Forms Quando voc cria um novo site Web, o Visual Web Developer adiciona uma pgina do ASP.NET (pgina Web Forms) chamada Default.aspx. Voc pode usar a pgina Default.aspx como a home page para o seu site Web. Entretanto, para esta explicao passo a passo, voc ir criar e trabalhar com uma nova pgina. Para adicionar uma pgina ao site Web 1. 2. 3. 4. 5. Feche a pgina Default.aspx. Para fazer isso, clique com o boto direito do mouse na guia que contm o nome de arquivo e selecione Close. Na Solution Explorer, clique com o boto direito do mouse o site Web (por exemplo, C:\BasicWebSite), e clique em Add New Item. No Visual Studio installed templates, clique em Web Form. Na caixa Name, digite FirstWebPage. Na lista Language, escolha a linguagem de programao que voc prefere usar (Visual Basic, C#, ou J#). Quando voc cria o site Web, voc especifica uma linguagem padro. Entretanto, sempre que voc cria um nova pgina ou um componente para o seu site Web, voc pode alterar a linguagem. Voc pode usar linguagens de programao diferentes no mesmo site Web. 6. Desmarque a caixa de seleo Place code in separate file. A screen shot a seguir mostra a caixa de dilogo Add New Item. Caixa de Dilogo Add New Item

Nesta explicao passo a passo, voc est criando uma pgina single-file com o cdigo e HTML na mesma pgina. O cdigo para pginas do ASP.NET pode ser localizado na pgina ou em um arquivo de classe separado. Para saber mais sobre como manter o cdigo em um arquivo separado, consulte Explicao Passo a Passo: Criando uma Pgina Web Bsica com Separao de Cdigo no Visual Web Developer.

Visual Studio

117

7.

Clique em Add. O Visual Web Developer cria a nova pgina e a abre no modo Source.

Adicionando HTML pgina Nesta parte da explicao passo a passo, voc ir adicionar algum texto esttico para a pgina. Para adicionar texto para a pgina 1. Na parte inferior da janela de documento, clique na guia Design para alternar para o modo Design. O modo Design exibe a pgina com a qual voc est trabalhando de uma maneira WYSIWYG. Nesse ponto, voc no tem qualquer texto ou controles na pgina; ento, a pgina est em branco. 2. Na pgina, digite Bem-vindo ao Visual Web Developer. A screen shot a seguir mostra o texto que voc digitou no modo Design. O texto de boas vindas como visto no modo Design

3.

Alterne para modo Source. Voc pode ver o HTML que voc criou, digitando no modo Design, como mostrado na seguinte screen shot. O texto de boas vindas como visto no modo Source

Executando a Pgina Antes de prosseguir com a adio de controles para a pgina, voc pode tentar execut-la. Para executar uma pgina, necessrio um servidor Web. Em um site Web de produo, voc usa o IIS como seu servidor Web. Entretanto, para testar uma pgina, voc pode usar o Servidor de Desenvolvimento do ASP.NET, que executado localmente e no requer o IIS. Para os sites Web do sistema de arquivos, o servidor Web padro no Visual Web Developer o Servidor de Desenvolvimento do ASP.NET. Para executar a pgina 1. Pressione CTRL+F5 para executar a pgina. O Visual Web Developer inicia o Servidor de Desenvolvimento do ASP.NET. Um cone aparece na barra de ferramentas para indicar que o servidor Web Visual Web Developer est sendo executado, como mostrado na seguinte screen shot. cone do Servidor Visual Web Developer

A pgina exibida no navegador. Embora a pgina que voc criou tenha uma extenso .aspx, ela atualmente executa como qualquer pgina HTML. Observao

Visual Studio

118

Se o navegador exibe um erro 502 ou um erro indicando que a pgina no pode ser exibida, voc deve configurar seu navegador para ignorar os servidores proxy para solicitaes locais. Para obter detalhes, consulte COMO: Ignorar um Servidor proxy para Solicitaes Web Locais. 2. Feche o navegador.

Adicionando e Programao Controles Nesta parte da explicao, voc ir adicionar os controles Button, TextBox e Label para a pgina e gravar o cdigo para manipular o evento Click para o controle Button. Agora voc ir adicionar os controles do servidor na pgina. Os controles do servidor, que incluem botes, rtulos, caixas de texto e outros controles familiares, fornecem capacidades tpicas para processamento de formulrios para suas pginas Web do ASP.NET. Entretanto, voc pode programar os controles com cdigo que executado no servidor, no no cliente. Para adicionar controles para a pgina 1. 2. 3. 4. Clique na guia Design para alternar para modo Design. Pressione SHIFT+ENTER algumas vezes para criar um pouco de espao. No TextBox, a partir do grupo Standard, arraste trs controles para a pgina: um controle Label, um controle Toolbox e um controle Label. Coloque o ponto de insero acima do controle TextBox e em seguida, digite Entre com o seu nome:. Esse texto HTML esttico a legenda do controle TextBox. Voc pode misturar HTML esttico e controles de servidor na mesma pgina. O screen shot a seguir mostra como os trs controles aparecem no modo Design. Controles no Modo de Exibio Design

Definindo as Propriedades do Controle O Visual Web Developer oferece vrias maneiras para definir as propriedades dos controles na pgina. Nesta parte da explicao passo a passo, voc ir definir as propriedades em modo Design e em modo Source. Para definir as propriedades de controle 1. Selecione o controle Button e na janela Properties, defina Text para Display Name, conforme mostrado na screen shot a seguir. Texto do Controle Button Alterado

2.

Alterne para modo Source. O modo de exibio Source exibe o HTML para a pgina, incluindo os elementos que o Visual Web Developer criou para os controles do servidor. Os controles so declarados usando sintaxe do tipo HTML, exceto as marcas que usam o prefixo asp: e incluem o atributo runat="server". As propriedades do controle so declaradas como atributos. Por exemplo, quando voc define a propriedade Text para o controle Button, na etapa 1, voc realmente definiu o atributo Text na marcao do controle.

Visual Studio

119

Observe que todos os controles esto dentro de um elemento <form> que tambm tem o atributo runat="server". O atributo runat="server" e o prefixo asp: para controle de marcas marcam os controles para que eles sejam processados pelo ASP.NET no lado do servidor quando a pgina executada. Cdigo fora dos elementos <form runat="server"> e <script runat="server"> interpretado pelo navegador como cdigo do cliente. 3. Coloque o ponto de insero em um espao dentro da guia <asp:label>, e pressione SPACEBAR. Uma lista suspensa aparece para mostrar a lista de propriedades que voc pode definir para o controle Label. Esse recurso, conhecido como IntelliSense, ajuda voc no modo Source com a sintaxe dos controles de servidor, elementos HTML e outros itens na pgina. A screen shot a seguir mostra a lista suspensa do IntelliSense para o controle Label. O IntelliSense para o controle Label

4.

Selecione ForeColor e digite um sinal de igualdade (=). O IntelliSense exibe uma lista de cores. Observao Voc pode exibir uma lista suspensa do IntelliSense a qualquer momento, pressionando CTRL+J.

5.

Selecione uma cor para o texto do controle Label. O atributo ForeColor concludo com a cor que voc selecionou.

Programando o Controle Button Para esta explicao passo a passo, voc ir escrever um cdigo que l o nome que o usurio insere na caixa de texto e exibe o nome no controle Label. Para adicionar um manipulador de eventos padro para o controle button 1. 2. Alternar para o modo Design. Clique duas vezes no controle Button. O Visual Web Developer alterna para o modo Source e cria um esqueleto de manipulador de eventos para o evento padro do controle Button, o evento Click. Observao Clicar duas vezes em um controle em modo Design apenas uma das vrias maneiras para voc poder criar os manipuladores de eventos. 3. Dentro do manipulador, digite o seguinte: Label1. O Visual Web Developer exibir uma lista dos membros disponveis para o controle Label, conforme mostrado a screen shot a seguir. Membros disponveis do controle Label

Visual Studio

120

4.

Concluir o manipulador de evento Click para o boto para que ele aparea como mostrado no exemplo de cdigo a seguir. C#
protected void Button1_Click(object sender, System.EventArgs e) { Label1.Text = TextBox1.Text + ", welcome to Visual Web Developer!"; }

5.

Role para baixo at o elemento <asp:Button>. Observe que o elemento <asp:Button> agora tem o atributo OnClick="Button1_Click". Este atributo vincula o evento Click do boto para o mtodo do manipulador que voc codificou na etapa 4. Os mtodos do manipulador de eventos podem ter qualquer nome; o nome que voc v o nome padro criado pelo Visual Web Developer. O ponto importante que o nome usado para o atributo OnClick deve corresponder ao nome de um mtodo na pgina. Observao Se voc estiver usando o Visual Basic com separao de cdigo, o Visual Web Developer no adiciona um atributo OnClick explcito. Em vez disso, o evento acoplado ao mtodo do manipulador usando uma palavra-chave Handles na prpria declarao do manipulador.

Executando a Pgina Agora voc pode testar os controles do servidor na pgina. Para executar a pgina 1. Pressione CTRL+F5 para executar a pgina no navegador. A pgina novamente executa usando o Servidor de Desenvolvimento do ASP.NET. 2. Digite um nome para a caixa de texto e clique o boto. O nome que voc inseriu exibido no controle Label. Observe que quando voc clica no boto, a pgina remetida para o servidor Web. O ASP.NET recria a pgina, executa o seu cdigo (neste caso, executa o manipulador de eventos Click do controle Button), e em seguida, envia a nova pgina para o navegador. Se voc observar a barra de status do navegador, voc pode ver que a pgina est fazendo uma chamadapara o servidor Web sempre que voc clicar no boto. 3. No navegador, exiba o fonte da pgina que voc estiver executando. No cdigo fonte da pgina, voc v somente HTML comum; voc no v os elementos <asp:> com os quais voc estava trabalhando no modo Source. Quando a pgina executada, o ASP.NET processa os controles do servidor e processa os elementos HTML da pgina que executa as funes que representam o controle. Por exemplo, o controle <asp:Button> processado como o elemento HTML <input type="submit">. 4. Feche o navegador. Trabalhando com Controles Adicionais

Visual Studio

121

Nesta parte da explicao , voc trabalhar com o controle Calendar, que exibe as datas de um ms ao mesmo tempo. O controle Calendar um controle mais complexo que o boto, a caixa de texto e o rtulo com os quais voc tem trabalhado e ilustra alguns recursos adicionais dos controles do servidor. Nesta seo, voc adicionar um controle Calendar na pgina e o formatar. Para adicionar um controle Calendar 1. 2. Em Visual Web Developer, alterne para modo Design. A partir da seo Standard do Toolbox, arraste um controle Calendar para a pgina: O painel de marca inteligente do calendrio exibido. O painel exibe comandos que facilitam a execuo das tarefas mais comuns para o controle selecionado. A screen shot a seguir mostra o controle Calendar como processado no modo Design. Controle Calender no modo Design

3.

No painel de marca inteligente, escolha Auto Format. A caixa de dilogo Auto Format exibida, permitindo que voc selecione um esquema de formatao para o calendrio. A screen shot a seguir mostra a caixa de dilogo Auto Format para o controle Calendar. Caixa de Dilogo Auto Format para o controle Calendar

4. 5.

Na lista Select a scheme, selecione Simple e em seguida, clique em OK Alterne para modo Source. Voc pode ver o elemento <asp:Calendar>. Este elemento muito maior que os elementos para os controles simples que voc criou anteriormente. Ele tambm inclui subelementos, como <WeekEndDayStyle>, que representam vrias configuraes de formatao. A screen shot a seguir mostra o controle Calendar no modo Source. Controle Calendar em modo Source

Programando o Controle Calendar Nesta seo, voc programar o controle Calendar para exibir a data selecionada atualmente. Para programar o controle Calendar 1. A partir da lista suspensa da esquerda no topo do modo Source, selecione Calendar1. A lista suspensa exibe uma lista de todos os objetos para os quais voc pode escrever cdigo. 2. A partir da lista suspensa da direita, selecione SelectionChanged. O Visual Web Developer cria um esqueleto de manipulador de eventos para o evento SelectionChanged do controle Calendar.

Visual Studio

122

Agora voc j viu duas maneiras para criar um manipulador de eventos para controles. O primeiro foi clicar duas vezes o controle no modo Design. O segundo usar as listas suspensas em modo Source para selecionar um objeto e o evento para o qual escrever o cdigo. 3. Concluir o manipulador de evento SelectionChanged com o seguinte cdigo destacado. C#
protected void Calendar1_SelectionChanged(object sender, System.EventArgs e) { Label1.Text = Calendar1.SelectedDate.ToString(); }

Executando a Pgina Agora voc pode testar o calendrio. Para executar a pgina 1. 2. 3. Pressione CTRL+F5 para executar a pgina no navegador. Clique em uma data no calendrio. A data que voc clicou exibida no controle Label. No navegador, exibir o cdigo fonte para a pgina. Observe que o controle Calendar tem sido processado para a pgina como uma tabela, com cada dia como um elemento <td> contendo um elemento <a>. 4. Feche o navegador. Prximas Etapas Esta explicao ilustra os recursos bsicos do designer da pgina do Visual Web Developer. Agora que voc entende como criar e editar uma pgina Web no Visual Web Developer, voc pode querer explorar outros recursos. Por exemplo, voc pode querer:

Aprender mais sobre como editar HTML no Visual Web Developer. Para obter detalhes, consulte Explicao Passo a Passo: Edio de HTML Bsica no Visual Web Developer. Adicionar acesso de dados para as pginas Web. Para obter detalhes, consulte Explicao Passo a Passo: Acesso de Dados Bsicos em Pginas Web. Aprenda sobre o depurador para pginas da Web. Para obter detalhes, consulte Explicao Passo a Passo: depurao de pginas Web no Visual Web Developer. Criar pginas Web que so especificamente projetadas para telefones celulares e outros dispositivos. Para obter detalhes, consulte Explicao Passo a Passo: Criando Pginas Web para Dispositivos Mveis. Criar um layout de site consistente usando pginas mestra. Para obter detalhes, consulte Explicao Passo a Passo: Criando e Usando Pginas Mestra do ASP.NET em Visual Web Developer. Adicionar navegao ao seu site para que os usurios possam facilmente se mover entre as pginas. Para obter detalhes, consulte Explicao Passo a Passo: Adicionando Navegao de Site para um Site Web.

Visual Studio

123

Passo-a-passo: Acesso a Dados Bsico em Pginas da Web


Este passo-a-passo mostra como como criar uma pgina simples com dados vinculados usando controles que so especialmente criados para acesso a dados. Durante este passo-a-passo, voc aprender a fazer o seguinte:

Conectar-se a um banco de dados do Microsoft SQL Server na ferramenta de desenvolvimento da web, o Microsoft Visual Web Developer. Usar edio arrastar-e-soltar para criar elementos de acesso a dados que podem ser usados na pgina sem cdigo. Usar o controle SqlDataSource para gerenciar o acesso a dados e vinculao. Exibir dados com o controle GridView. Configurar o controle GridView para permitir a classificao e paginao. Criar uma consulta filtrada que exibe somente registros selecionados. Pr-requisitos

Para concluir este passo-a-passo, ser necessrio o seguinte:


Acesso ao o banco de dados SQL Server Northwind. Se o banco de dados Northwind no estiver no mesmo computador do servidor web, voc deve ter um nome de usurio e senha para uma conta de usurio do SQL Server que tenha acesso ao banco de dados Northwind Observao Se voc precisar de informaes sobre como efetuar login no SQL Server, contate o administrador do servidor.

Microsoft Data Access Components (MDAC) verso 2.7 ou posterior. Se voc estiver usando o Microsoft Windows XP ou Windows Server 2003, voc j tem MDAC 2.7. Entretanto, se voc estiver usando o Microsoft Windows 2000, voc pode atualizar o MDAC que j est instalado no o computador. Para fazer o download da verso atual do MDAC, consulte Centro de Desenvolvimento de Acesso e Armazenamento de Dados. Criando o site da web

Se voc j criou um site no Visual Web Developer completando o Passo-a-passo: Criando uma Pgina da Web Bsica no Visual Web Developer, voc pode usar esse site e ir para a prxima seo. Caso contrrio, crie um novo site e pgina seguindo estas etapas. Para criar um site do sistema de arquivos 1. 2. 3. Abra o Visual Web Developer. No menu File, clique em New Web Site. A caixa de dilogo New Web Site aparece. Em Visual Studio installed templates, clique em ASP.NET Web Site.

Visual Studio

124

4.

Na caixa Location mais a direita, insira o nome da pasta onde voc deseja manter as pginas do site Por exemplo, digite o nome de pasta C:\WebSites. Na lista Language, clique na linguagem de programao que preferir trabalhar. Clique em OK. O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx.

5. 6.

Adicionando um Controle GridView para Exibir Dados Para exibir dados em um pgina da web do ASP.NET, necessrio o seguinte:

Uma conexo com uma fonte de dados (como um banco de dados). No procedimento a seguir, voc criar uma conexo com o banco de dados SQL Server Northwind.

Um controle da fonte de dados na pgina, que executa consultas e gerencia os resultados de consultas. Um controle na pgina para exibir os dados realmente. No seguinte procedimento, voc ir exibir dados em um controle GridView. O controle GridView receber seus dados a partir do controle SqlDataSource.

Voc pode adicionar esses elementos para o site separadamente. No entanto, mais fcil comear a visualizando a exibio de dados usando o controleGridView, e usando assistentes para criar a conexo e o controle da fonte de dados. O procedimento a seguir explica como criar todos os trs elementos que voc deve ter para exibir dados na pgina. Para adicionar e configurar um controle GridView para exibir dados 1. 2. 3. 4. No Visual Web Developer, alterne para o modo de exibio Design. Da pasta Data em Toolbox, arraste um controle GridView para a pgina. Se o o menu de atalho GridView Tasks no for exibido, clique com o boto direito do mouse no controle GridView e clique em Show Smart Tag. No menu GridView Tasks, em Choose Data Source list, clique em <New data source>. A caixa de dilogo Data Source Configuration aparece.

Visual Studio

125

5.

Clique em Database. Isso especifica que voc deseja obter dados de um banco de dados que suporte instrues SQL. Isso inclui o SQL Server e outros OLE-DB bancos de dados compatveis. Na caixa Specify an ID for the data source, um nome controle da fonte de dados padro aparece (SqlDataSource1). Voc pode deixar esse nome.

6.

Clique em OK. O Wizard Configure Data Source aparecer, exibindo uma pgina na qual voc pode escolher uma conexo.

Visual Studio

126

7. 8.

Clique em New Connection. Na caixa de dilogo Choose Data Source, em Data source, clique em Microsoft SQL Server e clique emContinue. A caixa de dilogo Add Connection aparece. Na caixa Server name , digite o nome do SQL Server que voc deseja usar.

9.

Visual Studio

127

10. Para as credenciais de login, selecione a opo que seja apropriada para acessar o banco de dados do SQL Server (segurana integrada ou ID especfico e senha) e se for necessrio, digite um nome de usurio e senha. 11. Clique em Select or enter a database name, e digite Northwind. 12. Clique em Test connection e, quando voc tiver certeza que ele funciona, clique em OK. O assistente Configure Data Source - <DataSourceName> aparece e as informaes de conexo so preenchido. 13. Clique em Next. O assistente aparecer, exibindo uma pgina onde voc pode escolher armazenar a seqncia de conexo no arquivo de configurao. Armazenar a seqncia de conexo no arquivo de configurao tem duas vantagens: 1. 2. mais seguro do que armazenar a seqncia de conexo na pgina. Voc pode reutilizar a mesma seqncia de conexo em vrias pginas.

14. Certifique-se de que a caixa de seleo Yes, save this connection as esteja selecionada, e clique em Next. (Voc pode deixar o nome de seqncia de conexo padro NorthwindConnectionString.)

Visual Studio

128

O assistente aparecer, exibindo uma pgina na qual voc pode especificar os dados que voc deseja buscar do banco de dados. 15. Em Specify columns from a table or view, na lista Name, clique em Customers. 16. Em Columns, selecione o CustomerID, CompanyName e City check boxes. O assistente aparecer, exibindo a Instruo SQL que voc est criando em uma caixa na parte inferior da pgina.

Observao O assistente permite que voc especifique critrios de seleo (uma clusula WHERE) e outras opes de consulta SQL. Para esta parte do passo-a-passo, voc vai criar uma declarao simples sem seleo ou opes de classificao. 17. Clique em Next. 18. Clique em Test Query para certificar-se que est buscando os dados que voc deseja. 19. Clique em Finish. O assitente fecha e voc retornado para a pgina. Executar o assistente realizou duas tarefas:
o

O assistente criou e configurou um controle SqlDataSource (chamado SqlDataSource1), que incorpora as informaes de conexo e consulta que voc especificou.

Visual Studio

129

O assistente acoplou o controle GridView para o SqlDataSource. Portanto, o controle GridView exibir dados que so retornados pelo controle SqlDataSource. Se voc exibir as propriedades para o controle SqlDataSource, voc ver que o assistente criou valores para as propriedades ConnectionString e SelectQuery. Observao Voc pode facilmente alterar o aspecto do controle GridView. No modo de exibio Design, clique com o boto direito do mouse no controle GridView e clique emShow Smart Tag. No menu GridView Tasks, clique em Auto Format e aplique um esquema.

Testando a pgina Agora voc pode executar a pgina. Para testar a pgina 1. Pressione CTRL+F5 para executar a pgina. A pgina aparece no navegador. O controle GridView exibe todas as linhas de dados da tabela Customers. 2. Feche o navegador. Adicionando Classificao e Paginao Voc pode adicionar classificao e paginao no controle GridView sem escrever nenhum cdigo. Para adicionar classificao e paginao 1. 2. 3. 4. 5. No modo de exibio Design, clique com o boto direito do mouse no controle GridView e clique em Show Smart Tag. No menu de atalho GridView Tasks, selecione Enable Sorting check box. Os ttulos de colunas no controle GridView alteram para vnculos. No menu GridView Tasks, selecione Enable Paging check box. Um rodap adicionado ao controle GridView com links de nmero pgina. Opcionalmente, use Properties para alterar o valor da propriedade PageSize de 10 para um tamanho de pgina menor. Pressione CTRL+F5 para executar a pgina. Ser possvel clicar em uma coluna ttulo para classificar pelos contedos dessa coluna. Se h mais registros na fonte de dados do que o tamanho da pgina, do controle GridView, voc poder usar os links de navegao de pgina na parte inferior do controle GridView para mover entre pginas. 6. Feche o navegador. Adicionando filtragem Com freqncia voc deseja exibir somente dados selecionados na pgina. Nesta parte do passo-a-passo, voc modificar a consulta para o controle SqlDataSource para que os usurios possam selecionar registros de clientes para uma cidade especfica.

Visual Studio

130

Primeiro, voc usar um controle TextBox para criar um caixa de texto na qual os usurios podero digitar o nome de uma cidade. Em seguida, alterar a consulta para incluir um filtro parametrizado (clusula WHERE). Como parte desse processo, voc criar um elemento de parmetro para o controle SqlDataSource. O elemento de parmetro estabelece como o controle SqlDataSource obter o valor para sua consulta com parametrizada nomeada, da caixa de texto. Quando voc tiver terminado com essa parte do passo-a-passo, a pgina ser semelhante a este procedimento no modo de exibio Design.

Para adicionar a caixa de texto para especificar uma cidade 1. A partir do grupo Standard em Toolbox, arraste um controle TextBox e um controle Button para a pgina. O controle Button usado somente para enviar a pgina para o servidor. Voc no precisar escrever qualquer cdigo para ele. 2. 3. 4. Em Propriedades, para o controle TextBox, definida ID como textCity. Se voc desejar, digite City ou texto semelhante antes da caixa de texto atuar como uma legenda. Em Properties para o controle Button, definida Text como Submit.

Agora voc pode modificar a consulta para incluir um filtro. Para modificar a consulta com um filtro parametrizados 1. 2. 3. Clique com o boto direito do mouse no controle SqlDataSource e clique em Show Smart Tag. No menu SqlDataSource Tasks, clique em Configure Data Source. O assistente Configure Data Source - <Datasourcename> aparece. Clique em Next. O assistente exibe o comando SQL que est atualmente configurado para o controle SqlDataSource.

Visual Studio

131

4. 5. 6. 7. 8.

Clique em WHERE. Aparecer a pgina Add WHERE Clause. Na lista Column, clique em City. Na lista Operator, clique em =. Na lista Source, clique em Control. Em Parameter properties, na lista Control ID, clique em textCity.

As cinco etapas anteriores especificam que a consulta obter o valor de pesquisa para City a partir do controle TextBox adicionado mo procedimento anterior. 9. Clique em Add. A clusula WHERE que voc criou aparecer em uma caixa na parte inferior da pgina. 10. Clique em OK para fechar a pgina Add WHERE Clause. 11. No assistente Configure Data Source - <DataSourceName>, clique em Next. 12. Na pgina Test Query, clique em Test Query. O assistente aparecer, exibindo a pgina Parameter Values Editor, que solicita a voc um valor para usar na clusula WHERE. 13. Na caixa Value, digite London e clique em OK. Os registros de clientes de London aparecem. 14. Clique em Finish para fechar o assistente. Agora voc pode testar a filtragem.

Visual Studio

132

Para testar a filtragem 1. 2. 3. Pressione CTRL+F5 para executar a pgina. Na o caixa de texto, digite London, e clique em Submit. Uma lista de clientes da City of London aparecer no controle GridView. Tente outras cidades, como Buenos Aires e Berlin. Prximas etapas Acesso a dados uma parte importante em vrios aplicativos da web, este passoa-passo forneceu somente uma amostra do que voc pode fazer com dados em pginas da web. Voc pode testar outros recursos adicionais do acesso a dados. Por exemplo, convm fazer o seguinte:

Trabalhar com o Microsoft Access em vez do SQL Server (Voc no pode usar dependncia de cache SQL com o Access). Para obter informaes detalhadas, consulte Passo-a-passo: Criando uma Pgina da Web para Exibir Dados de Banco de Dados do Access.

Editar e inserir registros. Para obter informaes detalhadas, consulte Passo-a-passo: Editando e Inserindo Dados em Pginas da Web com o Controle DetailsView Web Server..

Trabalhar com registros que tenham um relacionamento master-detail. Para obter informaes detalhadas, consulte Passo-a-passo: Criando Pginas da Web Master/Detail no Visual Studio.

Criar um componente middle-tier (comercial) que executa acesso a dados, e o usa como fonte de dados em uma pgina. Para obter informaes detalhadas, consulte Passo-a-passo: Vinculao de Dados para um Objeto Business Personalizado.

Visual Studio

133

Passo-a-passo: Ligao de dados para um objeto corporativo personalizado


Muitos aplicativos da Web so criados usando vrias camadas, com um ou mais componentes contidos na camada no meio para fornecer acesso a dados. O Microsoft Visual Web Developer inclui um assistente que ajuda voc a criar um componente de dados que voc pode usar como um objeto de dados de camada do meio, conforme descrito em Passo-a-passo: Ligao de dados de pginas da Web com um componente de dados do Visual Studio. Entretanto, voc tambm pode desejar criar um objeto corporativo personalizado, em vez contar com o componente de dados criado pelo o assistente. Criar um objeto corporativo personalizado permite que voc implemente suas prprias lgicas corporativa. Esta explicao passo a passo ilustra como criar um objeto corporativo bsico que voc pode usar como uma fonte de dados para pginas da Web do ASP.NET. Durante esta explicao passo a passo, voc aprender como:

Criar um componente que pode retornar dados para um pgina da Web. O componente usa um arquivo XML para seus dados. Fazer referncia a objeto corporativo como uma fonte de dados em uma pgina da Web. Acoplar um controle para os dados retornados pelo objeto corporativo. Ler e gravar dados, usando o objeto corporativo. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:


Visual Web Developer (Visual Studio). O .NET Framework.

Esta explicao passo a passo presume que voc tenha uma compreenso geral de como usar o Visual Web Developer. Criando o site da Web Se j tiver criado um site no Visual Web Developer (por exemplo, seguindo as etapas no Passo-a-passo: Criando uma pgina da Web bsica em Visual Web Developer), voc pode usar esse site e v para a prxima seo, "Criando um arquivo XML para dados Corporativos." Caso contrrio, crie um novo site e pgina seguindo estas etapas. Para criar um site do sistema de arquivos 1. 2. 3. 4. Abra o Visual Web Developer. No menu File, clique em New Web Site. A caixa de dilogo New Web Site aparece. Em Visual Studio installed templates, clique em ASP.NET Web Site. Na caixa Location, insira o nome da pasta onde voc deseja manter as pginas do seu site. Por exemplo, digite o C:\WebSites nome da pasta.

Visual Studio

134

5. 6.

Na lista Language, clique na linguagem de programao que voc preferir trabalhar. Clique em OK. O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx.

Criando um arquivo XML para dados corporativos No procedimento a seguir, voc criar um arquivo XML simples para os dados de componentes Business. Para criar o arquivo XML 1. No Solution Explorer, clique com o boto direito do mouse App_Data, e ento clique em Add New Item. Observao Certifique-se de que voc criou o arquivo XML na pasta App_Data. A pasta App_Data tem as permisses definidas sobre ela que permitir que a pgina da Web leia e grave dados para o arquivo XML. 2. 3. 4. 5. Em Visual Studio installed templates, clique em XML file. Na caixa Name, digite Authors.xml. Clique em Add. Um novo arquivo XML criado que contm somente a diretiva XML. Copie os seguintes dados XML, e cole-o para o arquivo, sobrescrevendo o que j estiver no arquivo. O arquivo XML inclui informaes de esquema que identifica a estrutura do banco de dados dos dados, incluindo uma restrio de chave primria para a chave. Observao Componentes Business podem trabalhar com dados em qualquer forma que seja adequada para seu aplicativo. Esta explicao passo a passo usa um arquivo XML.
<?xml version="1.0" standalone="yes"?> <dsPubs xmlns="http://www.tempuri.org/dsPubs.xsd"> <xs:schema id="dsPubs" targetNamespace="http://www.tempuri.org/dsPubs.xsd" xmlns:mstns="http://www.tempuri.org/dsPubs.xsd" xmlns="http://www.tempuri.org/dsPubs.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="dsPubs" msdata:IsDataSet="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="authors"> <xs:complexType> <xs:sequence> <xs:element name="au_id" type="xs:string" /> <xs:element name="au_lname" type="xs:string" /> <xs:element name="au_fname" type="xs:string" /> <xs:element name="au_phone" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Constraint1" msdata:PrimaryKey="true"> <xs:selector xpath=".//mstns:authors" /> <xs:field xpath="mstns:au_id" /> </xs:unique> </xs:element> </xs:schema> <authors>

Visual Studio

135

<au_id>172-32-1176</au_id> <au_lname>West</au_lname> <au_fname>Paul</au_fname> <au_phone>408 555-0123</au_phone> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Gray</au_lname> <au_fname>Chris</au_fname> <au_phone>415 5550120</au_phone> </authors> </dsPubs>

6.

Salve o arquivo Authors.xml, e feche-o.

Criando um componente A prxima etapa para criar uma classe para atuar como o seu componente de negcios. Voc ir manter o componente na pasta App_Code do site da Web. Em um aplicativo real, voc pode manter o componente em qualquer armazenamento conveniente, incluindo o cache global de assemblies. Se seu site no tiver uma pasta chamada App_Code, voc deve criar uma. Para criar uma pasta App_Code

No Solution Explorer, clique com o boto direito do mouse no nome de seu site, clique Add ASP.NET Folder, e em seguida, clique em App_Code. Observao A pasta deve ser nomeada App_Code.

Agora voc poder adicionar o componente ao seu site. Para criar o componente Business 1. Na Solution Explorer, clique com o boto direito do mouse, na pasta App_Code e clique Add New Item. Observao Certifique-se de criar o novo item na pasta App_Code. 2. 3. 4. 5. 6. A caixa de dilogo Add New Item aparece. Em Visual Studio installed templates, clique em Class. Na caixa Language, clique na linguagem de programao que voc preferir. Na caixa Name, digite BusinessObject. Clique em Add. O Visual Web Developer cria o novo arquivo de classe e abre o editor de cdigos. 7. Copie o seguinte cdigo, e cole-o para o arquivo, sobrescrevendo o que j estiver no arquivo. C#
using System; using System.Web; using System.Data; namespace PubsClasses { public class AuthorClass { private DataSet dsAuthors = new DataSet("ds1"); private String filePath = HttpContext.Current.Server.MapPath ("~/App_Data/Authors.xml"); public AuthorClass() { dsAuthors.ReadXml (filePath, XmlReadMode.ReadSchema); } public DataSet GetAuthors () { return dsAuthors; } } }

Visual Studio

136

Observao Certifique-se de que o valor da varivel filePath referencia o nome do arquivo XML que voc criou anteriormente. Quando uma instncia da classe criada, ele l o arquivo XML e converte em um DataSet. A classe do mtodo GetAuthors retorna o DataSet. 8. Salve o arquivo. Voc deve salvar o arquivo para que a prxima seo funcione corretamente.

Exibindo dados usando o componente Business Voc pode chamar o componente Business em uma pgina da Web e exibir seus dados. Para referenciar o componente, use um controle ObjectDataSource, que est especificamente projetado para trabalhar com objetos. Para criar um controle ObjectDataSource que referencia o componente 1. Alterne para ou abra a pgina Default.aspx. Observao Se voc no tem uma pgina Default.aspx, voc pode usar outra pgina. Como alternativa, voc pode adicionar uma nova pgina para o site. No Solution Explorer, clique com o boto direito do mouse no nome do site, clique em Add New Item, e adicione. um Web Form 2. 3. 4. 5. Alterne para modo Design. No Toolbox, a partir da pasta Data, arraste um controle ObjectDataSource para dentro da pgina. Na janela Properties, definida ID como AuthorsObjectDataSource. Clique com o boto direito do mouse no controle ObjectDataSource e em seguida, clique na marca inteligente para exibir o Menu ObjectDataSource Tasks. No menu ObjectDataSource Tasks, clique em Configure Data Source. O assistente Configure Data Source aparece. 7. 8. 9. Na lista Choose your business object, clique PubsClasses.AuthorClass. Clique em Next. Na guia Select, na lista Choose a method, clique em GetAuthors(), returns Dataset. O mtodo GetAuthors definido na classe Business criada anteriormente. Ele retorna um DataSet contendo os dados do arquivo Authors.xml. 10. Clique em Finish. As informaes de configurao que voc inseriu especificam que para obter dados do componente, o mtodo GetAuthors do componente deve ser chamado. Agora voc pode obter dados do componente usando o controle ObjectDataSource. Voc ir exibir os dados em um controle GridView na pgina.

6.

Visual Studio

137

Para exibir dados do componente 1. 2. 3. 4. No Toolbox, a partir da pasta Data, arraste um controle GridView para a pgina. Clique com o boto direito do mouse no controle GridView e clique na marca inteligente se o Menu Common GridView Tasks no estiver aparecendo. No menu Common GridView Tasks, na caixa Choose Data Source, clique em AuthorsObjectDataSource. Pressione CTRL+F5 para executar a pgina. O controle GridView exibido com o dados XML dentro dele. Inserindo dados usando o componente Business Como em outros controles de fonte de dados, como o Controle SqlDataSource , o Controle ObjectDataSource suporta atualizao (inserir, atualizar e excluir). Nesta seo, voc modificar o componente Business com um mtodo que insere um registro autor. Ento, voc ir alterar a pgina para que os usurios possam digitar novas informaes de autor e modificar o controle ObjectDataSource para executar a insero. Observao Durante esta parte da explicao passo a passo, o arquivo Authors.xml que voc criou anteriormente ser atualizado. importante que o aplicativo tenha permisso para gravar no arquivo em tempo de execuo ou a pgina da Web exibir um erro quando voc tentar atualizar o arquivo. Se voc tiver criado o arquivo Authors.XML na pasta App_Data, as permisses so definidas automaticamente. Para modificar o componente Business para permitir insero 1. 2. Alterne para o arquivo BusinessObject. Adicione o seguinte mtodo como o membro final do AuthorClass. C#
public void InsertAuthor (String au_id, String au_lname, String au_fname, String au_phone) { DataRow workRow = dsAuthors.Tables[0].NewRow (); workRow.BeginEdit (); workRow[0] = au_id; workRow[1] = au_lname; workRow[2] = au_fname; workRow[3] = au_phone; workRow.EndEdit (); dsAuthors.Tables[0].Rows.Add (workRow); dsAuthors.WriteXml (filePath, XmlWriteMode.WriteSchema); }

Observao Preste ateno para os nomes das variveis usadas para passar informaes do autor para o mtodo Close (au_id, au_lname e au_phone, au_fname ). Eles devem corresponder aos nomes de coluna definidos no esquema do arquivo XML criado anteriormente. O novo mtodo tem quatro valores para inserir, que voc ir fornecer na pgina como parmetros. O mtodo cria uma nova linha no DataSet, e grava o DataSet atualizado de sada como um arquivo XML. 3. Salve o arquivo.

Visual Studio

138

A prxima etapa alterar a pgina para que os usurios possam inserir novas informaes de autor. Para o procedimento seguinte, voc ir usar o controle DetailsView . Para adicionar um controle para inserir dados 1. 2. 3. Alterne para ou abra a pgina Default.aspx. Alterne para modo Design. Em Toolbox, a partir da pasta Data, arraste um controle DetailsView para a pgina. Observao O leiaute exato da pgina no importante. 4. No menu DetailsView Tasks, na caixa Choose Data Source, clique em AuthorsObjectDataSource. Observao Se no estiver visvel, no menu DetailsView Tasks clique na marca inteligente. 5. Na janela Properties, defina AutoGenerateInsertButton como true. Isso faz com que o controle DetailsView processe um boto New que os usurios podem clicar para colocar o controle no modo de entrada de dados. Finalmente, voc deve configurar o controle ObjectDataSource para especificar qual ao o controle deve executar para inserir dados. Para configurar o controle da fonte de dados para inserir dados

Clique com o boto direito do mouse AuthorsObjectDataSource, clique em Properties, e defina InsertMethod para InsertAuthor. Este o nome do mtodo adicionado para o componente Business.

Agora voc pode inserir novos autores no arquivo XML. Para testar a insero 1. 2. 3. Pressione CTRL+F5 para executar a pgina Default.aspx. No controle DetailsView, clique no boto New. O controle reexibido com caixas de texto. Insira novas informaes de autor, e clique Insert. As novas informaes de autor so adicionadas ao arquivo XML. O controle GridView imediatamente reflete o novo registro. Prximas etapas Esta explicao passo a passo ilustra como trabalhar com um componente de dados. Voc pode desejar testar recursos adicionais de navegao. Por exemplo, voc pode desejar:

Adicionar funcionalidades de atualizao e excluso . Para fazer isso, adicione mtodos ao componente. Isso semelhante a lgica usada para adicionar a insero voc adiciona um mtodo ao componente, configura o controle da

Visual Studio

139

fonte de dados para chamar o mtodo componente, adiciona parmetros apropriados, e adiciona uma linha de cdigo para chamar os mtodos Update e Delete do controle da fonte de dados. Para obter detalhes, consulte Passo-apasso: Editando e Inserindo Dados com o controle DetailsView do servidor Web

Alterar o componente Business para trabalhar com dados de banco de dados em vez de com um arquivo XML. Voc no precisa fazer qualquer alterao aos controles na pgina. Restringir quais usurios podem fazer alteraes aos dados. Um mtodo comum adicionar membros e funes ao seu site, e depois estabelecer regras que o componente Business pode verificar antes de permitir as alteraes feitas nos dados. Para obter detalhes, consulte Passo-a-passo: Criando um site com associaes e logon de usurio (Visual Studio) e Passo-a-passo: Gerenciando Usurios de Sites da Web com Papis.

Visual Studio

140

Explicao passo a passo: depurao de pginas da Web no Visual Web Developer


O Visual Web Developer fornece ferramentas para ajudar a rastrear erros em suas pginas da Web do ASP.NET. Nesta explicao passo a passo, voc trabalhar com o depurador, o qual permite que voc execute o cdigo da pgina linha por linha e examine os valores das variveis. Nesta explicao passo a passo, voc criar um pgina da Web que contm uma calculadora simples que eleva um nmero ao quadrado. Aps criar a pgina (que incluir um erro deliberadamente), voc usar o depurador para examinar a pgina enquanto esta estiver sendo executada. Tarefas ilustrado nesta explicao passo a passo incluem:

Definir pontos de interrupo. Chamar o depurador a partir de um pgina Web Forms em um site no sistema de arquivos. Pr-requisitos

Para concluir este explicao passo a passo, sero necessrios:

Visual Web Developer e o .NET Framework.

Voc tambm deve ter uma compreenso geral de como trabalhar no Visual Web Developer. Para uma introduo ao Visual Web Developer, consulte Explicao passo a passo: Criando uma pgina da Web bsica no Visual Web Developer. Criar pgina e site da Web Na primeira parte da explicao passo a passo, voc criar uma pgina que voc pode depurar. Se voc j criou um site no Visual Web Developer (por exemplo, por ter seguido o tpico Explicao passo a passo: Criando uma pgina da Web bsica no Visual Web Developer), voc pode usar o site criado e pular para "Adicionando controles para depurao" a seguir nesta explicao. Caso contrrio, crie um novo site e pgina seguindo estes passos. Para criar um site no sistema de arquivos 1. 2. 3. 4. Abra o Visual Web Developer. No menu File, clque em New Web Site. A caixa de dilogo New Web Site aparecer. Em Visual Studio installed templates, clique em ASP.NET Web Site. Na caixa Location, clique em File System e digite o nome da pasta onde voc deseja manter as pginas do seu site. Por exemplo, digite o nome da pasta C:\WebSites. 5. Na lista Language clique na linguagem de programao que voc preferir para trabalhar. O linguagem de programao que voc escolher ser o padro para seu site. Entretanto, voc pode usar vrias linguagens no mesmo aplicativo da Web, criando pginas e componentes em linguagens de programao diferentes. Para obter informaes sobre como criar componentes usando diferentes

Visual Studio

141

linguagens, consulte Compartilhada pastas cdigo em sites da Web do ASP.NET. 6. Clique em OK. O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx. Criando uma pgina para depurao Voc comear criando uma nova pgina. Para esta explicao passo a passo, importante que voc crie uma nova pgina conforme especificado no procedimento a seguir. Para adicionar uma pgina ao site 1. 2. 3. 4. 5. 6. Feche a pgina Default.aspx. No Solution Explorer, clique com o boto direito do mouse no nome do seu site (por exemplo, C:\WebSite) e escolha Add New Item. Em Visual Studio installed templates, escolha Web Form. Na caixa Name, digite DebugPage.aspx. A partir da lista Language, escolha a linguagem de programao que voc preferir usar. Certifique-se que a caixa de seleo Place code in separate file est desmarcada. Nesta explicao passo a passo, voc est criando uma pgina em um nico arquivo com o cdigo e HTML na mesma pgina. O cdigo para pginas ASP.NET pode estar localizado na pgina ou em um arquivo de classe separado. Para saber mais sobre como manter o cdigo em um arquivo separado, consulte Explicao passo a passo: Criando uma pgina da Web bsica com separao de cdigo no Visual Web Developer. 7. Clique em Add. O Visual Web Developer cria a nova pgina e a abre no modo de fonte. Voc pode agora adicionar alguns controles pgina e depois adicionar cdigo. O cdigo ser simples, mas suficiente para permitir que voc adicione pontos de interrupo posteriormente. Para adicionar controles e cdigo para depurao 1. Mude para o modo de exibio Design e depois da pasta Standard para a pasta Toolbox, arraste ento os seguinte controles para a pgina: Controle Label TextBox Button Label Observao Propriedades ID: CaptionLabel Text: (empty) ID: NumberTextBox Text: (empty) ID: SquareButton Text: Square ID: ResultLabel Text: (empty)

Visual Studio

142

O layout da pgina para esta explicao passo a passo, no importante. 2. 3. Clique duas vezes no controle Button role para criar um manipulador Click para ele. Adicione lgica ao manipulador Click para chamar uma funo chamada Square para elevar o nmero digitado pelo usurio ao quadrado. O manipulador deve se parecer com o exemplo a seguir. Observao O exemplo de cdigo deliberadamente no inclui a verificao de erros. C#
protected void SquareButton_Click(object sender, System.EventArgs e) { int number, result; number = System.Convert.ToInt32(NumberTextBox.Text); result = Square(number); ResultLabel.Text = NumberTextBox.Text + " squared is " + result.ToString(); }

4.

Crie a funo que eleve o nmero ao quadrado. Inclua um erro no cdigo que adicione o nmero a si mesmo em vez de multiplicar. O cdigo deve se parecer com o exemplo a seguir. C#
int Square(int number ) { int Square; Square = number + number; return Square; }

Voc tambm pode adicionar cdigo na pgina para alterar o texto do rtulo dependendo se esta for a primeira vez que a pgina est sendo executada. Para alterar a legenda do controle Label 1. 2. No modo de exibio Design, clique duas vezes na superfcie de design (no no controle) para criar um manipulador de eventos Page_Load. Defina o texto do controle Caption Label como Enter a number: se esta for a primeira vez a pgina est em execuo, ou Enter another number: caso contrrio. O manipulador deve se parecer como o exemplo de cdigo a seguir. C#
if(Page.IsPostBack == false) { CaptionLabel.Text = "Enter a number: "; } else { CaptionLabel.Text = "Enter another number: " ; }

Teste a pgina Para certificar-se que a pgina est funcionando, execute-a em seu estado atual. Para executar a pgina 1. 2. 3. 4. Salve a pgina. Pressione CTRL+F5 para executar a pgina. Digite um nmero (diferente de 2) e pressione o boto Square. Observe que o resultado incorreto, porque h um erro no programa. Feche o navegador. Depurando a pgina

Visual Studio

143

Nesta parte da explicao passo a passo, voc usar o depurador para examinar o cdigo da pgina linha por linha ao ser executado, adicionar pontos de interrupo no cdigo e executar a pgina no modo Debug. Inicialmente, voc definir pontos de interrupo em seu cdigo. Um ponto de interrupo uma linha em seu cdigo onde a execuo pra e o depurador chamado. Para definir pontos de interrupo 1. 2. Mude para o modo de visualizao Source. Clique com o boto direito do mouse na linha a seguir, escolha Breakpoint, e escolha Insert Breakpoint. Observao Voc pode habilitar e desabilitar pontos de interrupo, pressionando F9. C#
if(Page.IsPostBack == false)

3.

Defina outro ponto de interrupo para a linha a seguir do manipulador


SquareButton_Click:

C#
result = Square(number);

Observao Voc no pode definir um ponto de interrupo em uma instruo que declara uma varivel. Com pelo menos um ponto de interrupo, voc estar pronto para executar o depurador. Para executar o depurador 1. A partir do menu Debug escolha Start Debugging (ou pressione F5) para executar a pgina no modo de depurao. Se voc nunca tiver executado o depurador antes, seu aplicativo provavelmente no estar configurado para oferecer suporte a depurao. Por padro, depurao desativada em aplicativos por questes de desempenho (pginas executam mais lentamente no depurador) e por razes de segurana. O Visual Web Developer exibe uma mensagem informando a voc o que deve fazer para ativar a depurao. A opo para ativar a depurao armazenada como uma configurao no arquivo Web.config, que mantm vrias opes de configurao especficas do site. Se o arquivo Web.config no existir, o Visual Web Developer vai tanto criar o arquivo quanto realizar a configurao apropriada do depurador. Se o arquivo Web.config j existe mas a depurao no estiver ativada, voc ver uma mensagem ligeiramente diferente informando que o Visual Web Developer ir modificar o arquivo Web.config. 2. Se voc vir a mensagem informando que depurao no est ativada, clique OK para ativar a depurao.

Visual Studio

144

No Visual Web Developer, o designer altera para modo de depurao exibindo o cdigo para a pgina e algumas janelas de depurao. O depurador executa sua pgina linha por linha. Quando o depurador chega na linha com o ponto de interrupo, ele para e reala a linha. Como o ponto de interrupo est no manipulador Page_Load, a pgina ainda no terminou de ser processada. O navegador est aberto, mas a pgina no ser exibida ainda. 3. No menu Debug, clique em Windows, clique em Watch e em seguida, clique em Watch 1 Observao Se voc estiver usando o Visual Web Developer Express Edition, o depurador oferece apenas uma nica janela Watch. 4. 5. Isso abre uma janela Watch onde voc pode especificar os valores que voc deseja rastrear. No editor, clique com o boto direito do mouse na parte IsPostBack da expresso Page.IsPostBack e clique Add Watch. Isso adiciona a expresso na janela Watch e exibe o valor atual da propriedade (false) exibida na coluna Value. Se voc preferir, voc pode digitar o nome de uma varivel ou propriedade na coluna Name da janela Watch. 6. A partir do menu Debug, escolha Continue para continuar a execuo, ou pressione F5. O comando Continue informa o depurador para continuar at que ele chegue no prximo ponto de interrupo. O manipulador de eventos Page_Load termina o processamento e a pgina exibida no navegador. 7. Insira o valor 2 na caixa de texto e clique o boto Square. O depurador ser exibido novamente, com o ponto de interrupo na linha no manipulador Page_Load. Neste momento, a janela Watch mostra que o valor de Page.IsPostBack true. 8. Pressione F5 novamente para continuar. O depurador processa o manipulador Page_Load e entra no manipulador SquareButton_Click, onde ele para no segundo ponto de interrupo que voc definiu. 9. No menu Debug, clique em Windows e clique Locals. Isso abre a janela Locals, que exibe os valores de todas as variveis e objetos que esto sendo no escopo da linha sendo executada. A janela Locals fornece uma maneira alternativa para voc exibir esses valores, com a vantagem de que voc no precisa definir explicitamente um observador para os elementos, mas com a desvantagem de que a janela pode conter mais informaes do que voc deseja ver. Na janela Locals, voc v que o valor de number 2 e o valor de result 0. Observao

Visual Studio

145

Voc tambm pode ver o valor de qualquer varivel no programa, mantendo o ponteiro do mouse sobre ela. 10. Na coluna Value da janela Locals, clique com o boto direito do mouse na linha para a varivel number e selecione Edit value. Edite o valor da varivel number e altere-o para 5. O valor 2 para a varivel number no um bom teste do programa, como tanto adicionar quanto elevar 2 a 2 resulta em 4. Portanto, enquanto o programa est sendo executado, voc pode alterar o valor dessa varivel. 11. A partir do menu Debug, escolha Step Into para entrar na funo Square, ou pressione F11. O comando Step Into faz com que o depurador execute uma linha e depois interrompa novamente. 12. Continue a depurao pressionando F11 at chegar a linha de cdigo a seguir. C#
ResultLabel.Text = NumberTextBox.Text + " squared is " + result.ToString();

O depurador percorre seu cdigo linha por linha. Quando o depurador executa a funo Square, voc pode usar a janela Locals para verificar os dados passados para a funo (number) e o valor de retorno da funo (Square). 13. No menu Debug, clique em Windows e Immediate. A janela Immediate permite que voc execute comandos. Voc pode usar a janela para avaliar expresses (por exemplo, para obter o valor de uma propriedade). 14. Na janela Immediate, digite a expresso a seguir e pressione ENTER.
? NumberTextBox.Text

O ponto de interrogao (?) um operador na janela Immediate que avalia a expresso que o segue. No exemplo, voc est avaliando a propriedade Text do controle NumberTextBox na pgina. Voc pode avaliar qualquer varivel, propriedade de objeto ou expresso que combinem essas, usando a mesma sintaxe que voc usaria em cdigo. 15. Na janela Immediate, digite o seguinte e pressione ENTER:
NumberTextBox.Text = "5"

Alm de avaliar expresses, a janela Immediate permite que voc altere variveis ou propriedades 16. Pressione F5 para continuar a execuo do programa. Quando a pgina aparecer, ela exibe o resultado de passar 5 para a funo Square. Alm disso, o texto na caixa de texto foi alterado para 5. O resultado que voc v 10 incorreto , j que 10 no o quadrado de 5. Voc pode agora corrigir o erro. Para corrigir o erro e testar novamente 1. Mude do navegador para o Visual Web Developer.

Visual Studio

146

Observao No feche o janela do navegador. 2. Na funo Square, altere o operador "+" para o operador "*". Como o cdigo no est em execuo (a pgina terminou de ser processada), voc est em modo de edio e pode fazer alteraes permanentes. 3. 4. Pressione CTRL+S para salvar a pgina. A partir do menu Debug, escolha Delete All Breakpoints para que a pgina no pare a cada vez que for executada. Observao Voc tambm pode limpar os pontos de interrupo, pressionando as teclas CTRL+SHIFT+F9. 5. 6. Mude para o janela do navegador. Insera 5 na caixa de texto e clique o boto. Desta vez, quando voc executar a pgina e inserir um valor, ele elevado ao quadrado corretamente. As alteraes temporrias que voc fez anteriormente, como alterar a propriedade Text do controle NumberTextBox, no foram persistentes, porque eles se aplicavam somente quando a pgina foi executada da ltima vez. 7. Feche o navegador para interromper o depurador. Prximas etapas O depurador inclui recursos adicionais para ajud-lo a trabalhar com seu cdigo. Alm disso, talvez voc queira aprender sobre tcnicas para manipular condies de erro e formas em que voc pode monitorar o processamento de pgina em tempo de execuo. Por exemplo, talvez voc queira explorar o rastreamento. Para obter detalhes, consulte Explicao passo a passo: Usando rastreamento no Visual Web Developer para ajudar a localizar erros em pgina da Web.

Visual Studio

147

Passo-a-passo: Criando e usando Pginas Mestras do ASP.NET no Visual Web Developer


Esta explicao passo-a-passo ilustra como criar uma pgina mestra e diversas pginas de contedo. Pginas mestras permitem que voc crie um layout de pgina uma pgina modelo e ento crie pginas separadas contendo o contedo que ser mesclado com a pgina mestra em tempo de execuo. Para obter mais informaes sobre pginas mestras, consulte Viso Geral sobre Pginas Mestras no ASP.NET . Tarefas ilustrado esta explicao passo a passo incluem:

Criando uma pgina mestra no Microsoft Visual Web Developer . Criando uma pgina ASP.NET com contedo que voc deseja exibir na pgina mestra. Executando pginas mestras para mostrar um contedo diferente. Selecionando uma pgina mestra em tempo de execuo. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:


Visual Web Developer (Visual Studio). O .NET Framework. Opcionalmente, um.jpg, .gif, ou outro arquivo grfico que voc possa usar como um logotipo em sua pgina mestra. recomendvel que o logotipo no seja maior do que 48 pixels de largura. Entretanto, a exibio de um logotipo opcional e o tamanho exato do grfico no ser importante para a explicao passo a passo. Criando um site da Web

Se voc j tiver criado um site no Visual Web Developer (por exemplo, seguindo as etapas do Passo-a-passo: Criando uma pgina bsica da Web em Visual Web Developer), voc pode usar esse site e v para a prxima seo, "Criando a Pgina mestra.". Caso contrrio, crie um novo site e pgina seguindo estas etapas. Para criar um site do sistema de arquivos 1. 2. 3. 4. Abra o Visual Web Developer. No menu File, clique em New Web Site. A caixa de dilogo New Web Site aparece. Em Visual Studio installed templates, clique em ASP.NET Web Site. Na caixa Location, insira o nome da pasta onde voc deseja manter as pginas do seu site. Por exemplo, digite o nome da pasta C:\WebSites. 5. 6. Na lista Language, clique a linguagem de programao em que voc preferir para trabalhar. Clique em OK.

Visual Studio

148

O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx. Criando a pgina mestra A pgina mestra o modelo de como ser o aspecto de suas pginas. Nesta seo, voc primeiro criar um pgina mestra. Ento, voc ir usar uma tabela para formatar a pgina mestra com um menu, um logotipo, e um rodap que ser exibido em cada pgina do seu site. Voc tambm vai trabalhar com um espao reservado de contedo, que uma regio na pgina mestra que pode ser substituda por informaes em uma pgina de contedo. Para criar a pgina mestra 1. 2. 3. 4. No Solution Explorer, clique com o boto direito do mouse no nome do seu site, e ento clique Add New Item. Em Visual Studio installed templates, clique em Master Page. Na caixa Name, digite Master1. Selecione a caixa de seleo Place code in separate file . Observao Esta explicao passo-a-passo assume que voc est usando arquivos code-behind para todas as pginas. Se voc estiver usando uma pgina ASP.NET Single-file, o cdigo ilustrado nesta explicao passo-apasso ir funcionar, mas aparecer no modo de origem, no em um arquivo separado de cdigo 5. Na lista Language, clique na linguagem de programao que voc preferir e clique Add. A nova pgina mestra abre no modo de origem. Na parte superior da pgina est uma declarao @ Master em vez de uma declarao @ PAGE normalmente encontrada na parte superior de pginas ASP.NET. O corpo da pgina contm um controle <asp:contentplaceholder>, que a rea da pgina mestra onde os contedo substituveis sero mesclados nas pginas de contedo em tempo de execuo. Voc ir trabalhar mais com o espao reservado de contedo posteriormente nesta explicao passo-a-passo. Dispondo a Pgina Mestra A pgina mestra define como as pginas no seu site aparentam. Ela pode conter qualquer combinao de textos estticos e controles. Uma pgina mestra tambm contm um ou mais espaos reservados de contedo que designam onde o contedo dinmico aparecer quando as pginas forem exibidas. Nesta explicao passo a passo, voc ir usar uma tabela para ajudar voc a posicionar elementos na pgina. Voc iniciar criando uma tabela de layout para armazenar os elementos da pgina mestra. Posteriormente, nesta seo, ir posicionar o controle de espao reservado de contedo que j estiver na pgina. Para criar uma tabela de layout para a pgina mestra 1. Com o arquivo Master1.Master selecionado no modo de exibio de origem, defina o esquema de destino para validao para o Microsoft Internet Explorer 6.0. Para definir esse valor, voc pode usar tanto a lista suspensa na caixa de ferramentas ou selecionar Options a partir do menu Tools, e clicar em Validation.

Visual Studio

149

2. 3.

Alternar para modo Design. A partir da Lista suspensa na parte superior da janela Propriedades, selecione DOCUMENT, e defina BgColor para uma cor diferente, como azul. A cor selecionada no importante. Posteriormente nesta explicao passo-apasso voc criar uma segunda pgina mestra sem uma cor para comparar com aquilo que voc est selecionando aqui.

4.

Clique na pgina onde voc deseja colocar a tabela de layout. Observao No coloque a tabela de layout dentro do Controle ContentPlaceHolder.

5. 6.

No menu Layout, clique em Insert Table. Na caixa de dilogo Insert Table , clique em Template. Na lista cliquem em Header, footer and side, e clique OK. O modelo define a organizao de linhas e clulas na tabela. O modelo que voc selecionou cria trs linhas, e a linha central dividida em duas clulas.

7.
o o o

Faa as seguintes configuraes: Na linha do meio, clique na coluna mais esquerda, e defina seu Width como 48 na janela Properties. Clique na primeira linha, e defina seu Height como 48 na janela Properties. Clique na linha inferior, e defina seu Height como 48 na janela Properties. Observao Voc pode definir a largura e altura arrastando as bordas de clula da tabela ou selecionando a clula e definindo valores na janela Properties.

8.

Selecione todas as clulas na tabela e defina BgColor como uma cor diferente do que a cor do plano de fundo, e defina VAlign como top.

Aps definir o layout a tabela, voc pode adicionar contedo para a pgina mestra que aparecer em todas as pginas. Voc ir adicionar uma mensagem de direitos autorais como um rodap, e adicionar um menu. Se tiver um grfico de logotipo disponvel, voc poder adiciona-lo tambm. Para adicionar contedo esttico para a pgina mestra 1. 2. 3. Clique na clula inferior e digite o texto rodap como Copyright 2005 Contoso Inc. Na Toolbox, a partir do grupo de controle Navigation, arraste um controle de Menu para a clula superior. Crie um menu seguindo estas etapas: 1. Defina a propriedade do controle do Menu Orientation como Horizontal.

Visual Studio

150

2. 4.

Clique na marca inteligente no controle do Menu, e clique Edit Menu Items na caixa de dilogo Menu Tasks.

Em Items, clique duas vezes no cone Add a root node para adicionar dois itens de menu : 1. 2. 3. Clique no primeiro n, e defina Text como Home e NavigateUrl como Home.aspx. Clique no segundo n, e defina Text como About e NavigateUrl como About.aspx. Clique OK para fechar a caixa de dilogo Menu Item Editor.

5.

Se voc tiver um arquivo grfico disponvel para uso como um logotipo, siga estas etapas para coloc-lo na pgina mestra: 1. 2. 3. 4. Na Solution Explorer, clique com o boto direito do mouse no nome do site, e clique Add Existing Item. Navegue para o arquivo grfico, selecione o arquivo grfico, e ento clique Add. Na Toolbox do grupo Standard, arraste um controle de Image para a coluna do esquerda no meio de tabela. Definida a propriedade do controle da Imagem ImageUrl com o nome do arquivo grfico.

Agora voc pode posicionar o espao reservado de contedo para especificar onde a pgina mestra pode exibir contedo em tempo de execuo. Para adicionar um espao reservado de contedo 1. Arraste o controle ContentPlaceHolder para a clula direita do meio. A Propriedade ID do controle ContentPlaceholder1. Voc pode deixar esse nome ou alter-lo. Se voc alterar o nome, certifique-se de anotar o nome porque voc precisar saber o nome mais tarde. 2. Salvar a pgina. Criando Contedo para a Pgina Mestra A pgina mestra fornece o modelo para o seu contedo. Voc define o contedo para a pgina mestra, criando uma pgina ASP.NET que est associada com a pgina mestra. A pgina de contedo uma forma especializada de uma pgina ASP.NET que contm somente o contedo a ser mesclado com a pgina mestra. Na pgina de contedo, voc adiciona o texto e os controles que voc deseja exibir quando os usurios solicitarem essa pgina. Nesta explicao passo a passo, voc ir adicionar duas pginas com contedo para a pgina mestra. A primeira uma Home Page e a segunda uma pgina do tipo Sobre. Para criar a Home Page 1. 2. 3. 4. 5. No Solution Explorer, clique com o boto direito do mouse no nome do site, e clique em Add New Item. Em Visual Studio installed templates, clique em Web Form. Na caixa Name, digite Home. Na lista Language, clique na linguagem de programao que voc preferir. Selecione a caixa de seleo Select master page, e clique Add.

Visual Studio

151

A caixa de dilogo Select a Master Page aparece. 6. Clique em Master1.master, e clique OK. Um novo arquivo.aspx criado. A pgina contm uma diretiva @ PAGE que conecta a pgina atual com a pgina mestra selecionada com o atributo MasterPageFile, como mostrado no seguinte exemplo de cdigo. C#
<%@ Page Language="C#" MasterPageFile="~/Master1.master" ... %>

A pgina tambm contm um elemento <asp:Content> com que voc ir trabalhar a seguir. Uma pgina de contedo no tem os elementos usuais que compem uma pgina ASP.NET, como os elementos html, body, ou form. Em vez disso, voc adiciona somente o contedo que voc deseja exibir na pgina mestra, substituindo as regies do espao reservado que voc criou na pgina mestra. Para adicionar contedo para a Home Page 1. Alterne para o modo Design. A regio que voc criou como um controle ContentPlaceHolder na pgina mestra exibida como um Controle de Contedo na nova pgina de contedo. Todo o contedo restante da pgina mestra exibido, portanto voc pode ver o layout, mas ele aparece esmaecido porque voc no poder alter-lo ao editar uma pgina de contedo. 2. Da lista suspensa na janela Properties, clique em DOCUMENT, e defina Title para Home Page de Contoso. Voc pode definir o ttulo de cada pgina de contedo independentemente, de forma que o ttulo correto exibido no navegador quando o contedo mesclado com a pgina mestra. As informaes de ttulo so armazenadas na diretiva @ Page da pgina de contedo. 3. No Controle Content, digite Welcome to the Contoso Web Site, selecione o texto, e em seguida, formate o texto como Heading 1 selecionando o texto e ento selecionando Heading 1 da lista suspensa Block Format acima da Toolbox. Pressione ENTER para criar uma nova linha vazia no controle Content, e em seguida, digite Obrigada por visitar nosso site. O texto adicionado aqui no importante; voc pode digitar qualquer texto que o ajudar a reconhecer esta pgina como a home page. 5. Salve a pgina. Voc pode criar a pgina Sobre da mesma forma que voc criou a Home Page. Para criar a pgina Sobre 1. Use as mesmas etapas que voc usou para a Home Page para adicionar uma nova pgina de contedo chamada About.aspx. Certifique-se de anexar a nova pgina pgina Master1.Master como fez com a Home Page. 2. Altere o ttulo da pgina para Pgina Sobre Contoso.

4.

Visual Studio

152

3.

Na regio de contedo, digite Sobre Contoso, e em seguida, formate o texto como um Heading 1, selecionando o texto e selecionando Heading 1 do Block Format da lista suspensa acima do Toolbox. Pressione ENTER para criar uma nova linha, e digite Desde 1982, Contoso prov servios de software de alta qualidade. Salve a pgina.

4. 5.

Testando as pginas Voc pode testar as pginas, executando-as como voc faria com qualquer pgina ASP.NET. Para testar as pginas 1. Alterne para a pgina Home.aspx, e pressione CTRL+F5. O ASP.NET mescla o contedo da pgina Home.aspx com o layout na pgina Master1.master em uma nica pgina e exibe a pgina resultante no navegador. Observe que a URL da pgina Home.aspx; no h nenhuma referncia no navegador para a pgina mestra. 2. Clique no link Sobre. A pgina About.aspx exibida. Ela tambm ser mesclada com a pgina Master1.MASTER. Referenciando Membros da Pgina Mestra Cdigo em pginas de contedo podem referenciar membros da pgina mestra, incluindo quaisquer propriedades pblica ou mtodos e os controles da pgina mestra. Nesta parte da explicao passo a passo voc ir criar uma propriedade na pgina mestra, e em seguida, usar o valor da propriedade nas pginas de contedo. A premissa que o nome da empresa do site est armazenado como uma propriedade na pgina mestra, e qualquer referncia para o nome da empresa nas pginas de contedo baseada na propriedade da pgina mestra. A primeira etapa adicionar uma propriedade para a pgina mestra. Para adicionar uma propriedade pgina mestra 1. 2. Alterne para, ou abra, a pgina Master1.MASTER. Na Solution Explorer, clique com o boto direito do mouse em Master1.master, e clique View Code Para abrir o editor de cdigos. Observao Por padro, o Visual Web Developer cria pginas que usam o modelo code-behind. Se voc preferir, voc pode criar cdigo usando o modelo Single-File. Para mais informaes, consulte Modelo de Cdigo de Pgina Web do ASP.NET. 3. Dentro da definio de classe, digite o cdigo a seguir. C#
public String CompanyName { get { return (String) ViewState["companyName"]; } set { ViewState["companyName"] = value; } }

O cdigo cria uma propriedade chamada CompanyName para a pgina mestra. O valor armazenado no estado da exibio para que ele seja persistentes entre postbacks.

Visual Studio

153

4.

Dentro da definio da classe (mas no dentro do cdigo da propriedade), adicione o seguinte cdigo. C#
void Page_Init(Object sender, EventArgs e) { this.CompanyName = "Contoso"; }

Para esse exemplo, voc ir embutir em cdigo o valor da propriedade CompanyName para a pgina. Agora voc pode modificar o pgina de contedo para usar a propriedade CompanyName da pgina mestra. Para referenciar a propriedade CompanyName na pgina de contedo 1. 2. 3. Alterne para, ou abra, a pgina Home.aspx. Alterne para modo de origem. Na parte superior da pgina, sob a diretiva @ PAGE, adicione a seguinte diretiva @ MasterType :
<%@ MasterType virtualpath="~/Master1.master" %>

A diretiva vincula a propriedade Master da pgina de contedo, que voc ir usar logo, com a pgina Master1.Master. 4. 5. 6. Alterne para modo Design. No controle Content, altere o texto para Bem-vindo ao site de. Na Toolbox do grupo Standard, arraste um controle Label para o controle Content, e coloque-o aps o texto esttico de forma que leia-se o texto: Bem-vindo ao site de [label] 7. 8. 9. Defina a propriedade ID do controle do Label como CompanyName. No Solution Explorer, clique com o boto direito do mouse em Home.aspx e clique View Code para abrir o editor de cdigos. Dentro da definio de classe, adicione o seguinte cdigo. C#
void Page_Load(Object sender, EventArgs e) { CompanyName.Text = Master.CompanyName; }

A propriedade Master da pgina de contedo retorna uma referncia para a pgina mestra conforme definido na diretiva @ MasterType adicionada na etapa 3. Agora voc pode testar a pgina de contedo para certificar-se de que ele est referenciando a propriedade CompanyName da pgina mestra corretamente. Para testar a referncia para a propriedade da pgina mestra 1. Alterne para, ou abra, a pgina Home.aspx, e pressione CTRL+F5 para executar a pgina. A pgina exibida no navegador, com o texto Bem-vindo ao site de Contoso 2. 3. 4. Feche o navegador. Alterne para, ou abra, a pgina code-behind Master1.MASTER. Altere o manipulador Page_Init para atribuir um nome de empresa diferente para a propriedade, como no seguinte exemplo de cdigo.

Visual Studio

154

C#
void Page_Init(Object sender, EventArgs e) { this.CompanyName = "New Company Name"; }

5.

Alterne para a pgina Home.aspx, e pressione CTRL+F5 para execut-la novamente. Neste momento, o nome da empresa atualizado aparece na pgina

Anotaes H vrias outras questes que voc deve estar ciente ao trabalhar com uma pgina mestra:

Em um aplicativo real, provavelmente voc iria armazenar informaes como o nome da empresa no arquivo de configurao e l-las diretamente nas pginas de contedo. No entanto, o cenrio descrito aqui fornece uma ilustrao simples de como fazer a referncia a membros de pgina mestra nas pginas de contedo. Voc pode acessar membros na pgina mestra mesmo sem incluir uma diretiva @ MasterType. Entretanto, para fazer isso, voc deve fazer um cast da propriedade System.Web.UI.Page.Master para o tipo apropriado na pgina mestra (a propriedade Master null se uma pgina no tiver nenhuma pgina mestra). Para mais informaes, consulte Trabalhando com Pginas Mestras de ASP.NET Programaticamente. Voc pode referenciar controles na pgina mestra, usando o mtodo Master.FindControls. Para mais informaes, consulte Trabalhando com Pginas Mestras de ASP.NET Programaticamente. Alterando pginas mestras dinamicamente

Em algumas circunstncias, convm poder alterar pginas mestras dinamicamente; ou seja, usar cdigo para definir a pgina mestra para uma pgina de contedo. Por exemplo, talvez queira permitir que os usurios selecionem entre vrios layouts e defina a pgina mestra de acordo com suas preferncias. Nesta parte da explicao passo a passo, voc ir adicionar uma segunda pgina mestra ao site, e criar botes que permitem ao usurio alternar entre uma pgina mestra e outra. Porque as duas pginas mestras sero muito semelhante, voc ir fazer uma cpia da primeiro pgina mestra e ir modific-la para atuar como a segunda pgina mestra . Para fazer uma cpia da pgina mestra 1. 2. No Solution Explorer, clique com o boto direito do mouse em Master1.master, e clique Copy. Clique com o boto direito do mouse no nome do site, e em seguida, clique em Paste Uma pgina mestra adicionada ao site a Web com o nome Copy of master1.master. 3. 4. Clique com o boto direito do mouse em Copy of master1.master, clique em Rename, e denomine a nova pgina mestra como Master2.master. Abra a Master2.Master e, na diretiva @ Master, altere Master1 para Master2. A diretiva completa da pgina vai parecer com o exemplo de cdigo a seguir. C#
<%@ Master Language="C#" CodeFile="Master2.master.cs" Inherits="Master2" %>

Visual Studio

155

5. 6. 7.

Alterne para modo Design. Na janela Properties, na lista suspensa na parte superior, clique em DOCUMENT. Desmarque a propriedade BgColor. A nova pgina mestra ter o aspecto e funcionalidades como a Master1.master, mas no ter nenhuma cor de plano de fundo.

8.

Abra o arquivo de cdigo do Master2.Master e altere o nome da classe no arquivo code-behind da pgina mestra de Master1 para Master2 para corresponder ao valor do atributo Inherits na diretiva <%@ Master %> da pgina. O cdigo ter o aspecto como no exemplo a seguir. C#
public partial class Master2 : System.Web.UI.MasterPage

A prxima etapa adicionar um boto para cada pgina mestra que permite ao usurio selecionar a pgina mestra alternativa. Para adicionar botes para selecionar uma pgina mestra alternativa 1. 2. 3. 4. Alterne para, ou abra, a pgina Master2.MASTER. Na Toolbox, a partir do n Standard, arraste um controle LinkButton para a pgina e coloque-o abaixo do menu na clula mais alta da tabela. Defina a propriedade Text do boto como Colorful. Clique duas vezes no boto para criar um manipulador para o Evento Click, e, em seguida, adicione o cdigo realado seguinte. C#
void LinkButton1_Click(Object sender, EventArgs e) { Session["masterpage"] = "Master1.master"; Response.Redirect(Request.Url.ToString()); }

O cdigo carrega o nome da pgina mestra alternativa em uma varivel de sesso persistente, e depois recarregue a pgina atual. (A propriedade Url retorna um objeto Uri que faz referncia a pgina atual.) Em breve, voc vai criar cdigo na pgina de contedo que usar o nome da pgina mestra. 5. 6. 7. Alterne para, ou abra, a pgina Master1.Master no modo Design. Adicione um controle LinkButton como voc fez nas etapas 1 e 2, e defina sua propriedade Text como Plain. Clique duas vezes no boto Plain para criar um manipulador para o Evento Click, e, em seguida, adicione o cdigo realado seguinte. C#
void LinkButton1_Click(Object sender, EventArgs e) { Session["masterpage"] = "Master2.master"; Response.Redirect(Request.Url.ToString()); }

Esse cdigo o mesmo que o usado para o boto na pgina Master2.master, exceto que ele carrega uma pgina mestra alternativa. Agora voc escreve o cdigo na pgina de contedo que ir carregar dinamicamente a pgina mestra que o usurio tiver selecionado.

Visual Studio

156

Escrever cdigo para selecionar a pgina mestra dinamicamente 1. Alterne para, ou abra, a pgina About.aspx. Observao A Home Page que voc criou contm uma diretiva @ MasterType que efetivamente a vincula para uma nica pgina mestra (Master1.MASTER). Portanto, no ser possvel atribuir pginas mestras dinamicamente para a Home Page e em vez disso voc vai poder trabalhar com outras pginas que voc tiver criado. 2. 3. No Solution Explorer, clique com o boto direito do mouse em About.aspx e clique View Code para abrir o editor de cdigos. Dentro da definio da classe, adicione o seguinte cdigo. C#
void Page_PreInit(Object sender, EventArgs e) { if(Session["masterpage"] != null) { this.MasterPageFile = (String) Session["masterpage"]; } }

O cdigo define o valor da propriedade MasterPageFile da pgina atual para o valor na varivel de sesso, se houver. Este cdigo deve executar no manipulador Page_PreInit; no pode ser executado em um manipulador que ocorre em qualquer momento posterior que o manipulador Page_PreInit (por exemplo, no manipulador Page_Init), porque a pgina mestra deve ser estabelecida para que a pgina possa criar uma instncia dela antes de qualquer inicializao adicional possa ocorrer. Agora voc pode testar as pginas mestras dinmicas. Para testar as pginas mestras dinmicas 1. Na pgina About.aspx, pressione CTRL+F5 para executar a pgina. A pgina exibida no navegador mesclada com sua pgina mestra padro, Master1.MASTER. 2. Clique no link Plain . A pgina reexibida, neste momento mesclada com a Master2.master, que no tem nenhuma cor de plano de fundo. 3. Clique no link Colorful. A pgina exibida usando a Master1.Master novamente. Anotaes H vrias outras questes que voc deve estar ciente ao trabalhar com pginas mestras dinmicas:

O cenrio desta seo para alterar pginas mestras simplificada para manter a explicao passo a passo focalizada em pginas mestras. Em um aplicativo real, voc provavelmente deve exibir uma escolha dos layouts, e ento guardar a preferncia do usurio usando perfis. Para obter detalhes, consulte Viso geral sobre Propriedades de Perfil de ASP.NET. Voc pode configurar seu site para todas as pginas usarem a mesmo pgina mestra. Voc pode ter algumas pginas que devem usar uma pgina mestra alternativa, que voc pode configurar no cdigo de uma maneira semelhante mostrada nessa seo da explicao passo a passo. Para obter detalhes,

Visual Studio

157

consulte "Escopo de Pginas Mestres" em Viso Geral de Pginas Mestras de ASP.NET.

Voc precisa adicionar o cdigo da pgina Home.aspx para cada pgina onde voc deseja substituir a pgina mestra padro. Prximas etapas

Esta explicao passo a passo ilustra a funcionalidade bsica de pginas mestras. Voc pode desejar testar recursos adicionais de pginas mestras. Por exemplo, voc pode desejar:

Criar pginas mestras que tm vrios espaos reservados de contedo. Em seguida, voc pode preencher um ou mais espaos reservados com contedo para cada pgina que voc exibir. Definir espaos reservados contedo contedo padro. Se uma pgina ASP.NET no fornece contedo para o espao reservado, a pgina mestra exibe o contedo padro. Programaticamente acessar membros da pgina mestra de pginas de contedo. Isso permite que voc dinamicamente altere o aspecto da pgina mestra em tempo de execuo. Para obter detalhes, consulte Como: Referenciar o Contedo de Pginas Mestras ASP.NET. Usar filtragem de dispositivos com pginas mestras para criar diferentes layouts para diferentes dispositivos, como um layout para navegadores e outro para um tipo especfico de telefone. Para obter detalhes, consulte Viso Geral sobre Filtragem de Dispositivo ASP.NET. Aprenda como voc pode colocar pginas mestras em pginas mestras para criar partes em componentes. Para obter detalhes, consulte Pginas Mestras ASP.NET Aninhadas.

Visual Studio

158

Passo-a-passo: personalizando um site usando temas no Visual Studio


Esta explicao passo a passo ilustra como usar temas para aplicar uma aparncia consistente a pginas e controles em seu site. Um tema pode incluir arquivos de capa que definem um aspecto comum para controles individuais, uma ou mais folhas de estilo e elementos grficos comuns para uso dos controles, como o Controle TreeView Controle. Esta explicao passo a passo mostra como trabalhar com temas ASP.NET em sites da Web As tarefas ilustradas nesta explicao passo a passo incluem:

Aplicar temas predefinidos ASP.NET para pginas individuais e para o site como um todo. Criando seu prprio tema que inclui capas, que so usadas para definir o aspecto dos controles individuais. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:


Visual Web Developer Microsoft (Visual Studio). O .NET Framework. Criando o site da Web

Se voc j criou um site no Visual Web Developer (por exemplo, seguindo as etapas no Passo-a-passo: Criando uma pgina da Web bsica em Visual Web Developer), voc pode usar esse site e ir para a prxima seo. Caso contrrio, crie um novo site e pgina seguindo estas etapas. Para criar um site do sistema de arquivos 1. 2. 3. 4. Abra Visual Web Developer. No menu File, clique New Web Site. A caixa de dilogo New Web Site aparece. Em Visual Studio installed templates, clique em ASP.NET Web Site. Na caixa Location, insira o nome da pasta onde voc deseja manter as pginas do seu site. Por exemplo, digite o nome da pasta C:\WebSites. 5. 6. Na lista Language, clique na linguagem de programao que voc preferir trabalhar. Clique em OK. O Visual Web Developer cria a pasta e uma nova pgina chamada Default.aspx. Para iniciar o trabalho com temas nesta explicao passo a passo, ir configurar um controle Button, um controle Calendar, e um controle Label, para que voc possa ver como esses controles so afetados por temas. Para colocar controles na pgina 1. Alterne para modo Design.

Visual Studio

159

2.

A partir do grupo Standarddo Toolbox, arraste um controle Calendar, um controleButton, e um controle Label para a pgina. O layout exato da pgina no importante. Observao No aplique qualquer formatao para qualquer um dos controles. Por exemplo, no use o comando AutoFormat para definir o aspecto do controle Calendar.

3. 4.

Alterne para modo de origem. Certifique-se de que o elemento <head> da pgina tem o atributo runat="server" para que ela seja lida da seguinte maneira:
<head runat="server"></head>

5.

Salve a pgina.

Para testar a pgina, voc desejar ver a pgina antes de um tema ser aplicado, e depois com diferentes temas. Criando e aplicando um tema a uma pgina O ASP.NET torna fcil aplicar um tema predefinido a uma pgina, ou criar um tema exclusivo. (Para obter detalhes, consulte COMO: Definir temas ASP.NET.) Nesta parte da explicao passo a passo, voc ir criar um tema com algumas capas simples, que definem a aparncia dos controles. Para criar um novo tema 1. Em Visual Web Developer, clique com o boto direito do mouse no nome de seu site, clique Add ASP.Net Folder, e em seguida, clique em Theme. A pasta chamada App_Themes e uma subpasta chamada Theme1 so criadas. 2. Renomeie a pasta Theme1sampleTheme. O nome desta pasta ser o nome do tema que voc criar (aqui, sampleTheme). O nome exato no importante, mas voc tem que se lembrar dele quando voc for aplicar o tema personalizado. 3. Clique com o boto direito do mouse na pasta sampleTheme, selecione Add New Item, adicione um novo arquivo de texto, e denomineosampleTheme.skin. No arquivo sampleTheme.skin, adicione definies de capa conforme mostrado no exemplo de cdigo a seguir.
<asp:Label runat="server" ForeColor="red" Font-Size="14pt" Font-Names="Verdana" /> <asp:button runat="server" Borderstyle="Solid" Borderwidth="2px" Bordercolor="Blue" Backcolor="yellow"/>

4.

Observao As caractersticas exatas que voc define so no importantes. Os valores da seleo anterior so sugestes que sero mais bvias quando voc testar o tema posteriormente. As definies de capa so semelhantes sintaxe para criao de um controle, exceto que as definies incluem apenas configuraes que afetam a

Visual Studio

160

aparncia do controle. Por exemplo, as definies capa no incluem uma configurao para a propriedade ID. 5. Salve o arquivo de capa, e seguida, feche-o. Agora voc pode testar a pgina antes de que qualquer temas seja aplicado. Observao Se voc adicionar um arquivo de folhas de estilo em cascata (CSS) para a sua pasta sampleTheme, ele ser aplicado a todas as pginas que usam o tema. Para testar temas 1. 2. 3. Pressione CTRL+F5 para executar a pgina. Os controles so exibidos com sua aparncia padro. Feche o navegador, e depois retorne ao Visual Web Developer. No modo de exibio origem, adicione o atributo a seguir para a diretiva @ Page:
<%@ Page Theme="sampleTheme" ... %>

Observao Voc deve indicar o nome de um tema real no valor do atributo (neste caso, o arquivo sampleTheme.skin que voc definiu anteriormente). 4. Pressione CTRL+F5 para executar a pgina novamente. Desta vez, os controles so processados com o esquema de cores definido no seu tema. Os controles Label e Button sero exibidos com as configuraes feitas no arquivo sampleTheme.skin. Porque voc no foi criou uma entrada no arquivo sampleTheme.skin para o controle Calendar, ele ser exibido com a aparncia padro. 5. 6. Em Visual Web Developer, defina o tema com o nome de outro tema, se disponvel. Pressione CTRL+F5 para executar a pgina novamente. Os controles alteraro sua aparncia novamente. Temas de Folhas de Estilo vs. Personalizao de Temas Aps ter criado seu tema, voc pode adaptar como ele usado no seu aplicativo associando-o com a pgina tanto como um tema personalizado (como feito na seo anterior), ou como um tema de folhas de estilo. Um tema de folhas de estilo usa os mesmos arquivos de tema como um tema personalizado, mas sua prioridade nos controles e propriedades da pgina inferior, equivalente a um arquivo CSS. No ASP.NET, a ordem de prioridade :

Configuraes de temas, incluindo temas definidos em seu arquivo Web.config. Configuraes de pgina local. Configuraes de Temas de Folhas de Estilo.

Visual Studio

161

Quanto a isso, se voc optar por usar um tema de folhas de estilo, as propriedades do seu tema sero substitudas por qualquer coisa declarada localmente na pgina. Da mesma forma, se voc usar um tema personalizado, as propriedades do seu tema iro substituir qualquer coisa dentro a pgina local, e tambm em qualquer tema de folhas de estilo em uso. Para usar um tema de folhas de estilo e consultar ordem de prioridade 1. 2. Alterne para modo de origem. Altere a declarao da pgina:
<%@ Page theme="sampleTheme" %>

Para uma declarao de tema de folhas de estilo:


<%@ Page StyleSheetTheme="sampleTheme" %>

3. 4. 5. 6. 7. 8.

Pressione CTRL+F5 para executar a pgina. Observe que a propriedade ForeColor do controle Label1 est vermelho. Alternar para modo Design. Selecione Label1 e, em Properties, defina ForeColor como blue. Pressione CTRL+F5 para executar a pgina. A propriedade ForeColor de Label1 fica azul. Alterne para modo de origem. Altere a declarao da pgina para declarar um tema, em vez de um tema de folhas de estilo, alterando:
<%@ Page StyleSheetTheme="sampleTheme" %>

De volta para:
<%@ Page Theme="sampleTheme" %>

9.

Pressione CTRL+F5 para executar a pgina. A propriedade ForeColor de Label1 estar vermelho novamente.

Baseando um tema personalizado em controles existente Uma maneira fcil para criar definies de capa usar o designer para definir as propriedades de aparncia, e ento copiar a definio de controle em um arquivo de capas. Para basear um tema personalizado em controles existentes 1. No modo Design, defina a propriedades do controle Calendar para que o controle tenha um aspecto diferente. As configuraes a seguir so sugestes: BackColor Cyan Red 4 8 Arial Large Red BorderColor BorderWidth CellSpacing Font-Name Font-Size

o o o o o o o

SelectedDayStyle-BackColor

Visual Studio

162

o o

SelectedDayStyle-ForeColor TodayDayStyle-BackColor Observao

Yellow

Pink

As caractersticas exatas que voc definir no so importantes. Os valores da lista anterior so sugestes que sero mais bvios quando voc testar o tema posteriormente. 2. 3. 4. 5. 6. 7. 8. Alterne para o modo de origem e copie o elemento<asp:calendar> e seus atributos. Alterne para ou abra o arquivo sampleTheme.skin. Cole a definio do controle Calendar no arquivo sampleTheme.skin. Remova a propriedade ID da definio no arquivo sampleTheme.skin. Salve o arquivo sampleTheme.skin. Alterne para a pgina Default.aspx, e arraste um segundo controle Calendar para a pgina. No defina qualquer outra de suas propriedades. Execute a pgina Default.aspx. Ambos os controles Calendar iro aparentar o mesmo. O primeiro controle Calendar reflete as configuraes que voc fez nas propriedades explicitamente. O segundo controle Calendar herda suas propriedades de aparncia da definio de capa que voc fez no arquivo sampleTheme.skin. Aplicando temas a um site Voc pode aplicar um tema a um site inteiro, que significa que voc no precisa reaplicar o tema a pginas individuais. (Se voc desejar, voc pode substituir as configuraes dos temas em uma pgina.) Para configurar um tema para um site 1. Crie um arquivo Web.config se um no foi adicionado automaticamente ao seu site, seguindo etapas seguintes: 1. 2. No Solution Explorer, clique com o boto direito do mouse no nome do site, e clique Add New Item. Em Templates, selecione Web Configuration File, e clique Add. Observao Voc no precisa escrever um nome, porque o arquivo denominado sempre de Web.config. 2. 3. Adicione o elemento <pages> se ele ainda no existir. O elemento <pages> deve aparecer dentro do elemento <system.web>. Adicionar o seguinte atributo ao elemento <pages>.
<pages theme="sampleTheme" />

Observao Web.config diferencia maisculas de minsculas e os valores esto caixa-mista (alta e baixa). (Por exemplo: tema e styleSheetTheme). 4. Salve e feche o arquivo Web.config.

Visual Studio

163

5. 6. 7.

Alterne para Default.aspx e alterne para o modo de origem. Remova o atributo theme="themeName" da declarao de sua pgina. Pressione CTRL+F5 para executar Default.aspx. Agora a pgina exibida com o tema que voc especificou no arquivo Web.config.

Se voc optar por especificar um nome de tema na declarao de sua pgina, ele substituir qualquer tema especificado no seu arquivo Web.config. Prximas etapas O suporte ASP.NET para temas oferece uma variedade de opes para adaptar do aspecto e percepo de um aplicativo inteiro. Esta explicao passo a passo abordou algumas das noes bsicas, mas voc pode estar interessado em aprender mais. Por exemplo, pode desejar aprender mais sobre:

Uso de temas em geral. Para mais informaes, consulte Viso geral sobre temas e capas ASP.NET Criar seus prprios temas e capas. Para mais informaes, consulte COMO: Definir temas ASP.NET Usando temas com cdigo. Para mais informaes, consulte COMO: aplicar temas ASP.NET Programaticamente

Visual Studio

164

Explicao passo a passo: Criando uma pgina Web Parts no Visual Web Developer
Esta explicao passo a passo uma demonstrao prtica dos componentes e tarefas essenciais para criar pginas da Web que usam controles Web Parts em uma ferramenta de design visual como o Microsoft Visual Studio. Em vrios aplicativos da Web til ser capaz de alterar a aparncia do contedo, bem como permitir que os usurios selecionem e organizem o contedo que desejam ver. O recurso Web Parts do ASP.NET consiste de um conjunto de controles para criar pginas da Web que apresentam contedo modular e que permitem a usurios alterar a aparncia e o contedo para atender a suas preferncias. Para obter uma introduo geral a Web Parts, consulte Viso geral sobre Web Parts do ASP.NET. Para uma viso geral dos componentes principais do conjunto de controles Web Parts, vrios dos quais so usados nesta explicao passo a passo, consulte Viso geral sobre controles Web Parts. Durante esta explicao passo a passo, voc criar uma pgina que usa o conjunto de controles Web Parts para criar uma pgina da Web que o usurio pode modificar ou personalizar. As tarefas apresentadas nesta explicao passo a passo incluem:

Adicionar controles Web Parts a uma pgina. Criar um controle de usurio personalizado e us-lo como um controle Web Parts. Permitir que os usurios personalizem o leiaute dos controles Web Parts na pgina. Permitir que os usurios editem a aparncia de um controle Web Parts. Permitir que os usurios selecionem um controle de um catlogo de controles Web Parts disponveis. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:

Um site que possa identificar usurios individuais. Se voc tiver um site j configurado com participao (membership) do ASP.NET, voc pode usar esse site como um ponto de partida para esta explicao passo a passo. Caso contrrio, a explicao passo a passo fornece instrues sobre como configurar seu site para identific-lo por seu nome de conta de usurio do Windows. Um ambiente de design visual para criar pginas da Web. Esta explicao passo a passo usa o Visual Studio. Um provedor de personalizao configurado e um banco de dados. Personalizao de Web Parts ativada por padro e usa o provedor de personalizao SQL (SqlPersonalizationProvider) do Microsoft SQL Server Express Edition para armazenar os dados de personalizao. Esta explicao passo a passo usa o SSE e o provedor SQL padro. Se voc tiver o SSE instalado, nenhuma configurao ser necessria. O SSE est disponvel com o Microsoft Visual Studio 2005 como uma parte opcional da instalao ou como um download gratuito de Microsoft.com. Para usar uma das verses completas do SQL Server, voc deve instalar e configurar um banco de dados de servios de aplicativos ASP.NET e configurar o provedor de personalizao SQL para se

Visual Studio

165

conectar a este banco de dados. Para obter detalhes, consulte Criar e configurar o banco de dados de servios de aplicativos para o SQL Server. Criar e configurar um site da Web Esta explicao passo a passo requer que voc tenha uma identidade de usurio, para que suas configuraes Web Parts possam ser mapeadas para voc. Se voc j tiver um site configurado para usar associao (membership), recomendvel que voc use esse site. Caso contrrio, voc pode criar um novo site e usar seu nome de usurio do Windows atual como a identidade do usurio. Para criar um novo site

No Visual Studio, crie um novo site da Web do ASP.NET. Para obter detalhes, consulte Explicao passo a passo: Criar um site com associao (mebership) e login de usurio (Visual Studio). Criando uma pgina simples com Web Parts

Nesta parte da explicao passo a passo, voc vai criar uma pgina que usa controles Web Parts para mostrar contedo esttico. A primeira etapa para trabalhar com Web Parts consiste em criar uma pgina com dois elementos estruturais necessrios. Primeiro, uma pgina Web Parts precisa de um controle WebPartManager para controlar e coordenar todos os controles Web Parts. Segundo, uma pgina Web Parts precisa de uma ou mais zonas, que so controles compostos que contm controles WebPart ou outros controles de servidor e ocupam uma regio especificada de uma pgina. Observao Voc no precisa fazer nada para permitir personalizao de Web Parts; esta ativada por padro para o conjunto de controles Web Parts. Na primeira vez que executar uma pgina Web Parts em um site, o ASP.NET configura um provedor de personalizao padro para armazenar as configuraes de personalizao do usurio. Para obter mais informaes sobre personalizao, consulte Viso geral sobre personalizao Web Parts. Para criar uma pgina para conter controles Web Parts 1. 2. 3. Feche a pgina padro e adicione uma nova pgina ao site, chamada
WebPartsDemo.aspx.

Alterne para o modo de exibio Design. A partir do menu View, certifique-se de que as opes Non-Visual Controls e Details esto selecionadas para que voc possa ver marcas de layout e controles que no tm uma interface de usurio Coloque o ponto de insero antes das marcas <div> na superfcie de design e pressione ENTER para adicionar uma nova linha. Posicione o ponto de insero antes do caractere de nova linha. Selecione a opo Heading 1 na lista Block Format na barra de ferramentas, adicione o texto Web Parts Demonstration Page. Na guia WebParts da caixa de ferramentas, arraste um controle WebPartManager para a pgina, posicionando-o logo aps o caractere de nova linha e antes das marcas <div>. O controle WebPartManager no gera nenhuma sada, ento ele aparece como uma caixa cinza na superfcie de design.

4. 5.

6.

Visual Studio

166

7. 8.

Posicione o ponto de insero nas marcas <div>. No menu Layout, clique em Insert Table e crie uma nova tabela que tenha uma linha e trs colunas. Clique no boto Cell Properties, selecione top da lista drop-down Vertical align, clique em OK e clique em OK novamente para criar a tabela. Arraste um controle WebPartZone para a coluna esquerda da tabela. Clique com o boto direito do mouse no controle WebPartZone, escolha Properties e defina as propriedades a seguir:
ID: SidebarZone HeaderText: Sidebar

9.

10. Arraste um segundo controle WebPartZone para a coluna do meio da tabela e defina as seguintes propriedades:
ID: MainZone HeaderText: Main

11. Salve o arquivo. A pgina agora tem duas zonas diferentes que voc pode controlar separadamente. No entanto, nenhuma das zonas tem qualquer contedo, ento criar o contedo a prxima etapa. Para esta explicao passo a passo, voc trabalhar com controles Web Parts que exibem apenas contedo esttico. O layout de uma zona Web Parts especificado por um elemento <zonetemplate>. Dentro do modelo da zona, voc pode adicionar qualquer controle ASP.NET, quer seja um controle Web Parts personalizado, um controle de usurio ou um controle de servidor j existente. Observe que aqui voc est usando o controle Label, ao qual voc est simplesmente adicionando texto esttico. Quando voc coloca um controle de servidor em uma zona WebPartZone, o ASP.NET trata o controle como um controle Web Parts em tempo de execuo, o que habilita recursos Web Parts no controle. Para criar contedo para a zona principal 1. No modo de exibio Design, arraste um controle Label da guia Standard da caixa de ferramentas para a rea de contedo da zona cuja propriedade ID estiver definida como MainZone. Alterne para o modo de visualizao Source. Observe que um elemento <zonetemplate> foi adicionado para ajustar o controle Label na MainZone. 3. Adicione um atributo chamado title ao elemento <asp:label> e defina seu valor como Content. Remova o atributo Text="Label" do elemento <asp:label>. Dentro do elemento <asp:label>, adicione algum texto como <h2>Welcome to my Home Page</h2>. Seu cdigo deve se parecer com o a seguir.
<asp:webpartzone id="MainZone" runat="server" headertext="Main"> <zonetemplate> <asp:label id="Label1" runat="server" title="Content"> <h2>Welcome to My Home Page</h2> </asp:label> </zonetemplate> </asp:webpartzone>

2.

4.

Salve o arquivo.

Depois, crie um controle de usurio que tambm pode ser adicionado pgina como um controle Web Parts.

Visual Studio

167

Para criar um controle de usurio 1. Adicione um novo controle de usurio da Web ao seu site para servir como um controle de pesquisa denominado SearchUserControl.ascx, certificando-se que a opo Place source code in a separate file est desmarcada. Observao O controle de usurio para esta explicao passo a passo no implementa a funcionalidade de pesquisa de verdade; ele usado somente para demonstrar os recursos Web Parts. 2. 3. 4. 5. 6. Alterne para o modo de exibio Design. Na guia Standard da caixa de ferramentas, arraste um controle TextBox para a pgina. Coloque o ponto de insero aps a caixa de texto que voc adicionou e pressione ENTER para adicionar uma nova linha. Arraste um controle Button para a pgina na nova linha abaixo da caixa de texto que voc adicionou. Alterne para o modo de exibio Source e certifique-se que o cdigo fonte para o controle de usurio parece com o exemplo a seguir: C#
<%@ control language="C#" classname="SearchUserControl" %> <asp:textbox runat="server" id=" TextBox1"></asp:textbox> <br /> <asp:button runat="server" id=" Button1" text="Search" />

7.

Salve e feche o arquivo. Observao de segurana Esse controle tem uma caixa de texto que aceita entrada do usurio, o que uma ameaa potencial de segurana. Dados entrados pelo usurio em uma pgina da Web potencialmente pode conter scripts de cliente mal intencionados. Por padro, pginas da Web do ASP.NET validam a entrada do usurio para garantir que a entrada no contenha elementos HTML ou script. Enquanto essa validao estiver ativada, voc no precisa verificar explicitamente se h elementos HTML ou scripts nos dados entrados pelo usurio. Para mais informaes, consulte Viso geral sobre scripts maliciosos.

Agora voc pode adicionar controles Web Parts zona Sidebar. Voc vai adicionar dois controles zona Sidebar, um contendo uma lista de links e outro que o controle de usurio que voc criou no procedimento anterior. Os vnculos so adicionados como um controle de servidor padro Label, semelhante ao modo com que voc criou o texto esttico para a zona principal. Entretanto, embora os controles de servidor individuais contidos no controle de usurio pudessem estar contidos diretamente na zona (como o controle de rtulo), nesse caso eles no esto. Em vez disso, eles fazem parte do controle de usurio que voc criou no procedimento anterior. Isso demonstra uma maneira comum de empacotar controles e funcionalidade adicionais que voc deseje em um controle de usurio e depois referenciar tal controle em uma zona como um controle Web Parts. Em tempo de execuo, o conjunto de controles Web Parts envolve ambos os controles com controles GenericWebPart. Quando um controle GenericWebPart envolve um controle do servidor Web, o controle da parte genrica o controle pai

Visual Studio

168

e voc pode acessar o controle de servidor atravs da propriedade ChildControl do controle pai. Esse uso de controles de parte genrica permite que controles de servidor da Web padro tenham o mesmo comportamento bsico e atributos que controles Web Parts que derivam da classe WebPart. Para adicionar controles Web Parts zona da barra lateral 1. 2. 3. Abra a pgina WebPartsDemo.aspx. Alterne para o modo de exibio Design. Arraste a pgina de controle de usurio que voc criou, SearchUserControl.ascx, do Solution Explorer para a zona cuja propriedade ID estiver definida como SidebarZone. Salve a pgina WebPartsDemo.aspx. Alterne para o modo de visualizao Source. Dentro do elemento <asp:webpartzone> da SidebarZone, adicione um elemento <asp:label> com contendo links, adicione tambm um atributo Title com
um valor de Search marca de controle de usurio, conforme mostrado no exemplo a seguir: <asp:label runat="server" id="linksPart" title="My Links"> <a href="http://www.asp.net">ASP.NET site</a> <br /> <a href="http://www.gotdotnet.com">GotDotNet</a> <br /> <a href="http://www.contoso.com">Contoso.com</a> <br /> </asp:label> <uc1:SearchUserControl id="searchPart" runat="server" title="Search" /> </zonetemplate> </asp:WebPartZone> 7. Salve e feche o arquivo. Agora voc pode testar sua pgina. Para testar a pgina Carregue a pgina em um navegador. A pgina exibe as duas zonas. A tela a seguir mostra a pgina. Demonstrao de Web Parts com duas zonas <asp:WebPartZone id="SidebarZone" runat="server" headertext="Sidebar"> <zonetemplate>

4. 5.
6.

Na barra de ttulo de cada controle h uma seta para baixo que fornece acesso a um menu de aes disponveis que podem ser executadas em um controle. Clique no menu de verbos para um dos controles, clique no verbo Minimize e note que o controle minimizado. No menu de verbos, clique em Restore e o controle retornar ao seu tamanho normal. Habilitando usurios para editar pginas e alterar layout Web Parts fornece a funcionalidade para usurios alterarem o layout de controles Web Parts arrastando-os de uma zona para outra. Alm de permitir que os usurios movam controles WebPart de uma zona para outra, voc pode permitir que usurios editem vrias caractersticas dos controles, inclusive sua aparncia, layout e comportamento. O conjunto de controles Web Parts fornece a funcionalidade bsica para a edio de controles WebPart. Embora voc no faa isso nesta explicao passo a passo, voc tambm pode criar controles de edio personalizados que permitem que os usurios editem os recursos dos controles WebPart. Assim como alterar a localidade de um controle WebPart, editar as propriedades de um controle depende da personalizao do ASP.NET para salvar as alteraes feitas pelos usurios.

Visual Studio

169

Nesta parte da explicao passo a passo, voc adicionar o recurso que permite aos usurios editar as caractersticas bsicas de qualquer controle WebPart em a pgina. Para ativar esses recursos, voc adicionar outro controle de usurio personalizado pgina, juntamente com um elemento <asp:editorzone> e dois controles de edio. Para criar um controle de usurio que permita modificaes do layout da pgina 1. 2. 3. 4. 5. No Visual Studio, no menu File, clique em New e ento em File. Na caixa de dilogo Add New Item, selecione Web User Control. Nomeie o novo arquivo DisplayModeMenu.ascx. Desmarque a caixa de opo Place source code in separate file. Clique em Add para criar o novo controle. Alterne para o modo de visualizao Source. Remova todo o cdigo existente no novo arquivo e cole neste o cdigo a seguir. Este cdigo de controle de usurio usa recursos do conjunto de controles Web Parts para permitir que uma pgina tenha seu modo de exibio ou visualizao alterado, e tambm permite que voc altere a aparncia fsica e o layout da pgina quando estiver em certos modos de exibio. C# <%@ control language="C#" classname="DisplayModeMenuCS"%> <script runat="server"> // Use a field to reference the current WebPartManager control. WebPartManager _manager; void Page_Init(object sender, EventArgs e) { Page.InitComplete += new EventHandler(InitComplete); } void InitComplete(object sender, System.EventArgs e) { _manager = WebPartManager.GetCurrentWebPartManager(Page); String browseModeName = WebPartManager.BrowseDisplayMode.Name; // Fill the drop-down list with the names of supported display modes. foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes) { String modeName = mode.Name; // Make sure a mode is enabled before adding it. if (mode.IsEnabled(_manager)) { ListItem item = new ListItem(modeName, modeName); DisplayModeDropdown.Items.Add(item); } } // If Shared scope is allowed for this user, display the // scope-switching UI and select the appropriate radio // button for the current user scope. if (_manager.Personalization.CanEnterSharedScope) { Panel2.Visible = true; if (_manager.Personalization.Scope == PersonalizationScope.User) RadioButton1.Checked = true; else RadioButton2.Checked = true; } } // Change the page to the selected display mode. void DisplayModeDropdown_SelectedIndexChanged(object sender, EventArgs e) { String selectedMode = DisplayModeDropdown.SelectedValue; WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode]; if (mode != null) _manager.DisplayMode = mode; } // Set the selected item equal to the current display mode. void Page_PreRender(object sender, EventArgs e) { ListItemCollection items = DisplayModeDropdown.Items; int selectedIndex = items.IndexOf(items.FindByText(_manager.DisplayMode.Name)); DisplayModeDropdown.SelectedIndex = selectedIndex; } // Reset all of a user's personalization data for the page. protected void LinkButton1_Click(object sender, EventArgs e) { _manager.Personalization.ResetPersonalizationState(); } // If not in User personalization scope, toggle into it. protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { if (_manager.Personalization.Scope == PersonalizationScope.Shared) _manager.Personalization.ToggleScope(); } // If not in Shared scope, and if user has permission, toggle // the scope. protected void RadioButton2_CheckedChanged(object sender, EventArgs e) { if (_manager.Personalization.CanEnterSharedScope && _manager.Personalization.Scope == PersonalizationScope.User) _manager.Personalization.ToggleScope(); } </script> <div>

Visual Studio

170

<asp:Panel ID="Panel1" runat="server" Borderwidth="1" Width="230" BackColor="lightgray" Font-Names="Verdana, Arial, Sans Serif" > <asp:Label ID="Label1" runat="server" Text="&nbsp;Display Mode" Font-Bold="true" Font-Size="8" Width="120" /> <asp:DropDownList ID="DisplayModeDropdown" runat="server" AutoPostBack="true" Width="120" OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" /> <asp:LinkButton ID="LinkButton1" runat="server" Text="Reset User State" ToolTip="Reset the current user's personalization data for the page." Font-Size="8" OnClick="LinkButton1_Click" /> <asp:Panel ID="Panel2" runat="server" GroupingText="Personalization Scope" Font-Bold="true" Font-Size="8" Visible="false" > <asp:RadioButton ID="RadioButton1" runat="server" Text="User" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton1_CheckedChanged" /> <asp:RadioButton ID="RadioButton2" runat="server" Text="Shared" AutoPostBack="true" GroupName="Scope" OnCheckedChanged="RadioButton2_CheckedChanged" /> </asp:Panel> </asp:Panel> </div> 6. Salve o arquivo, clicando no cone de gravao na barra de ferramentas, ou selecionando Save no menu File. Para permitir que os usurios alterem o layout 1. 2. 3. Abra a pgina WebPartsDemo.aspx. Alterne para o modo de exibio Design. Posicione o ponto de insero imediatamente aps o controle WebPartManager que voc adicionou anteriormente. Digite ENTER para criar uma linha em branco aps o controle WebPartManager. 4. 5. 6. 7. Arraste o controle de usurio recm-criado (DisplayModeMenu.ascx) para a pgina WebPartsDemo.aspx e solte-o na linha em branco. Arraste um controle EditorZone da seo WebParts da caixa de ferramentas para a clula aberta restante da tabela na pgina WebPartsDemo.aspx. A partir da seo WebParts da caixa de ferramentas, arraste um controle AppearanceEditorPart e um controle LayoutEditorPart para o controle EditorZone. Alterne para o modo de visualizao Source. O cdigo resultante na clula da tabela deve ter aspecto semelhante ao do cdigo a seguir. <td valign="top"> <asp:EditorZone ID="EditorZone1" runat="server"> <ZoneTemplate> <asp:AppearanceEditorPart ID="AppearanceEditorPart1" runat="server" /> <asp:LayoutEditorPart ID="LayoutEditorPart1" runat="server" /> </ZoneTemplate> </asp:EditorZone> </td>

Observao Embora os controles AppearanceEditorPart e LayoutEditorPart sejam usados nesta explicao passo a passo, os controles PropertyGridEditorPart e BehaviorEditorPart no so, pois eles requerem configuraes alm do escopo desta explicao passo a passo.
8. Grave o arquivo WebPartsDemo.aspx. Voc criou um controle de usurio que permite que voc altere os modos de exibio e o layout da pgina e voc referenciou o controle na pgina da Web primria. Agora voc pode testar a funcionalidade de editar pginas e alterar layout.

Visual Studio

171

Para testar alteraes de layout 1. 2. 3. Carregue a pgina em um navegador. No menu Display Mode, clique em Edit. Os ttulos de zona so exibidos. Arraste o controle My Links pela sua barra de ttulo a partir da zona Sidebar para a parte inferior da zona Main. Sua pgina deve ter aspecto como o da seguinte tela: Demonstrao de pgina Web Parts com o controle My Links movido

4.

Clique em Display Mode, e depois clique em Browse. A pgina ser atualizada, os nomes de zona desaparecem e o controle My Links permanecer onde voc o posicionou.

5. 6.

Para demonstrar que a personalizao est funcionando, feche o navegador, e em seguida, carregue a pgina novamente. As alteraes feitas so salvas para sesses futuras do navegador. No menu Display Mode, clique em Edit. Agora cada controle na pgina exibido com uma seta para baixo na sua barra de ttulo, a qual contm o menu drop-down de verbos.

7. 8.

Clique na seta para exibir o menu de verbos sobre o controle My Links, e ento clique em Edit. O controle EditorZone aparecer, exibindo os controles EditorPart que voc adicionou. Na seo Appearance do controle de edio, altere o Title para My Favorites. Na lista Chrome Type, selecione Title Only e, em seguida, clique em Apply. A tela a seguir mostra a pgina no modo de edio Demonstrao de pgina Web Parts no modo de edio

9.

Clique no menu Display Mode, depois clique em Browse para retornar para o modo de navegao. O controle agora tem um ttulo atualizado e nenhuma borda, como mostrado na tela a seguir. Demonstrao de pgina Web Parts editada

Adicionar Web Parts em tempo de execuo Voc tambm pode permitir que usurios adicionem controles Web Parts suas pginas em tempo de execuo. Para fazer isso, configure a pgina com um catlogo Web Parts, que contm uma lista dos controles Web Parts que voc deseja tornar disponveis para os usurios.

Observao Nesta explicao passo a passo, voc criar um modelo contendo os controles FileUpload e Calendar. Isso permitir que voc teste a funcionalidade bsica do catlogo, mas os controles Web Parts resultantes no tm qualquer funcionalidade real. Se voc tiver uma pgina da Web ou controle de usurio personalizados, voc pode substituir o contedo esttico por eles.
Para permitir que os usurios adicionem Web Parts em tempo de execuo 1. Abra a pgina WebPartsDemo.aspx.

Visual Studio

172

2. 3.

Alterne para o modo de exibio Design. Na guia WebParts da caixa de ferramentas, arraste um controle CatalogZone para a coluna direita da tabela, sob o controle EditorZone. Ambos os controles podem estar na mesma clula da tabela pois eles no sero exibidos ao mesmo tempo.

4. 5. 6. 7. 8.

No painel Properties, atribuia a seqncia Add Web Parts para a propriedade HeaderText do controle CatalogZone. A partir da seo WebParts da caixa de ferramentas, arraste um controle DeclarativeCatalogPart para a rea de contedo do controle CatalogZone. Clique na seta no canto direito superior do controle DeclarativeCatalogPart para expor seu menu Tasks, e selecione Edit Templates. A partir da seo Standard da caixa de ferramentas, arraste um controle FileUpload e um controle Calendar para a seo WebPartsTemplate do controle DeclarativeCatalogPart. Alterne para o modo de visualizao Source. Inspecione o cdigo fonte do elemento <asp:catalogzone>. Observe que o controle DeclarativeCatalogPart contm um elemento <webpartstemplate> com os dois controles de servidor includos que voc poder adicionar sua pgina a partir do catlogo.

Observao Se voc tiver um controle personalizado, este o local para substituir um dos controles servidor do exemplo por ele, embora isso necessite de etapas alm do escopo desta explicao passo a passo. Para obter mais detalhes, consulte o exemplo de cdigo na documentao para a classe WebPart.
9. Adicione uma propriedade Title a cada um dos controles adicionados ao catlogo, usando o valor de seqncia de caracteres mostrado para cada ttulo no exemplo de cdigo abaixo. Embora o ttulo no seja uma propriedade que normalmente voc possa definir nesses dois controles de servidor em tempo de design, quando um usurio adiciona esses controles a uma zona WebPartZone a partir do catlogo em tempo de execuo, eles so empacotados por um controle GenericWebPart. Isso permite que eles atuem como controles Web Parts, portanto, eles podero exibir ttulos. O cdigo para os dois controles contidos no controle DeclarativeCatalogPart devem ter aspecto como a seguir. <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" runat="server"> <WebPartsTemplate> <asp:Calendar ID="Calendar1" runat="server" title="My Calendar" /> <asp:FileUpload ID="FileUpload1" runat="server" title="Upload Files" /> </WebPartsTemplate> </asp:DeclarativeCatalogPart> 10. Salve a pgina. Agora voc pode testar o catlogo. Para testar o catlogo Web Parts 1. 2. 3. Carregue a pgina em um navegador. No menu Display Mode, clique em Catalog. O catlogo intitulado Add Web Parts exibido. Arraste o controle My Favorites da zona Main de volta para o parte superior da zona Sidebar.

Visual Studio

173

4. 5.

No catlogo Add Web Parts, selecione as duas caixas de seleo e ento selecione Main na lista de zonas disponveis. Clique em Add no catlogo. Os controles so adicionados zone Main. Se voc desejar, voc pode adicionar vrias ocorrncias dos controles do catlogo sua pgina. As telas a seguir mostram a pgina com o controle de envio de arquivo e o calendrio na zona Main: Controles adicionados zona Main do catlogo

6. 7.

No menu Display Mode, clique em Browse. O catlogo desaparece e a pgina atualizada. Feche o navegador e carregue a pgina novamente. As alteraes feitas vo persistir.

Prximas etapas Esta explicao passo a passo ilustrou os princpios bsicos do uso de controles Web Parts simples em um pgina da Web do ASP.NET. Voc pode desejar testar recursos Web Parts adicionais, mais sofisticados. Sugestes para exploraes adicionais incluem: Criar controles Web Parts que ofeream funcionalidades mais sofisticadas que as Web Parts estticas desta explicao passo a passo. Voc pode criar controles Web Parts como controles de usurio ou controles personalizados. Para obter detalhes, consulte a documentao para a classe WebPart.

Visual Studio

174

Explicao Passo a Passo: Criando um Site Web com Associao e Login de Usurio (Visual Studio)
Um requisito comum para sites Web permitir que somente alguns membros ou outros usurios autenticados vejam determinadas pginas. Nesse caso, o aplicativo deve solicitar um nome e uma senha para o usurio. O aplicativo tambm deve incluir uma maneira para ocultar informaes de usurios annimos (usurios que no esto autorizados). Esta explicao passo a passo mostra como usar os controles do ASP.NET e servios de associao do ASP.NET para criar um aplicativo que executa todas essas tarefas. Para mais informaes, consulte Introduo a Associao. As tarefas ilustradas nesta explicao passa a passo incluem:

Configurar um aplicativo para incluir os servios de associao do ASP.NET e como definir os usurios. Usar os controles de login para obter credenciais de usurio e exibir informao para os usurios autorizados. Proteger uma ou mais pginas em seu aplicativo para que somente os usurios autorizados possam v-las. Permitir que usurios novos se registrem em seu site. Permitir que os membros alterem e redefinam suas senhas. Pr-requisitos

Para concluir esta explicao passo a passo, voc precisar de :


MIcrosoft Visual Web Develper. Microsoft Internet Information Services (IIS) instalado localmente em seu computador. Microsoft Data Access Components (MDAC) verso 2.7 ou posterior. Se voc estiver usando o Microsoft Windows XP ou Windows Server 2003, voc j tem MDAC 2.7. Entretanto, se voc estiver usando o Microsoft Windows 2000, voc pode precisar atualizar o MDAC j instalado no seu computador. Para obter mais informaes, consulte o artigo "Instalao do Microsoft Data Access Components (MDAC)" na biblioteca MSDN. Acesso a um servidor de email que pode encaminhar mensagens de email. (O servidor no precisa ter capacidade para receber mensagens.) O IIS inclui o servidor virtual Default SMTP, um servidor de email que adequado para esta explicao passo a passo. Para obter mais informaes sobre configurao do servidor, consulte HOW TO: Instalar e Configurar Servidores Virtuais SMTP em IIS. Se voc estiver trabalhando em uma rede local, contate o seu administrador de rede para obter informao sobre o acesso a um servidor de email. Criando o Site Web

Se voc j criou um site Web no Microsoft Visual Studio (por exemplo, trabalhando com o tpico Explicao Passo a Passo: Criando uma Pgina Web Bsica no Visual Web Developer), voc pode usar esse site Web e ir para "Configurando Associao" posteriormente nesta explicao passo a passo. Caso contrrio, crie um novo site Web e uma pgina seguindo estas etapas.

Visual Studio

175

Para criar um site Web local no IIS 1. 2. 3. 4. 5. 6. 7. 8. Abrir o Visual Studio. No menu File, clique em New Web Site. A caixa de dilogo New Web Site aparece. Sob oVisual Studio installed templates, selecione o ASP.NET Web Site. Na caixa de listagem Location , selecione HTTP. Clique em Browse. A caixa de dilogo Choose Location aparece. Selecione Local IIS. Abra o Local Web Servers. Selecione o Default Web Site. Clique no cone Create New Web Application ( ) acima da lista de sites

Web e em seguida, nomeie a associao do novo site Web. 9. Clique em Open. A caixa de dilogo Choose Location fecha. 10. Na caixa Languages, clique a linguagem de programao com a qual voc prefere trabalhar. A linguagem de programao que voc escolher ser o padro para seu site Web, mas voc pode definir as linguagens de programao para cada pgina individualmente. 11. Clique em OK na caixa de dilogo New Web Site. O Visual Web Developer cria o site Web e uma nova pgina chamada Default.aspx. Configurando a Associao Posteriormente nesta explicao passo a passo voc colocar pginas em um subdiretrio protegido. Voc deve criar o subdiretrio agora para que voc possa configurar a segurana para ele posteriormente na explicao passo a passo. Para adicionar uma nova pasta ao site Web 1. 2. No Solution Explorer, clique com o boto direito do mouse no nome do seu site Web e clique em New Folder. Nomear uma pasta MemberPages.

Antes de voc trabalhar com a associao do ASP.NET, voc deve configurar seu aplicativo para ativar a associao e configurar os usurios. Voc pode usar a ferramenta Web Site Administration, que fornece uma interface do tipo assistente para realizar esta configurao. Para esta explicao passo a passo, voc definir um nico usurio. Para criar um usurio da associao 1. 2. 3. No menu Website, clique em ASP.NET Configuration. Selecione o guia Security, clique o link para Use the security Setup Wizard to configure security step by step, e em seguida, clique em Next V para a etapa 2 do assistente e selecione a opo From the Internet.

Visual Studio

176

O assistente exibe uma pgina onde voc pode selecionar o mtodo de autenticao que seu site Web usar. Esta opo especifica que seu aplicativo usar a autenticao Forms, onde os usurios podero efetuar o login em seu aplicativo usando uma pgina de login que voc criar nesta explicao passo a passo posteriormente. 4. Clique em Next. O assistente exibe uma mensagem indicando que a informao do usurio ser armazenada usando o Advanced provider settings. Por padro, a informao da associao armazenada em um arquivo de banco de dados do Microsoft SQL Server Express na pasta App_Data do seu site Web. 5. Clique em Next. O assistente exibe uma opo para criar funes. Mais tarde nesta explicao passo a passo voc executar essa etapa separadamente. Portanto, no selecione a caixa de seleo Enable roles for this web site. 6. 7. Clique em Next. O assistente exibe uma pgina onde voc pode criar novos usurios. Insira a informao que define um usurio de seu aplicativo. Use os seguintes valores como diretrizes (voc pode utilizar quaisquer valores, mas certifique-se de anotar as suas entradas para a explicao passo a passo posterior): User Name Seu nome (sem espaos) ou um nome simples. Password Uma senha. Uma senha segura necessria (uma que inclua letras maisculas e minsculas, pontuao e que tenha pelo menos oito caracteres). E-mail Seu endereo de e-mail pessoal. Posteriormente na explicao passo a passo, voc enviar para si uma mensagem, portanto voc precisa de um endereo de e-mail legtimo. Security Questione Security Answer Digite uma questo e responda o que pode ser usado mais tarde, se voc precisar redefinir sua senha. Clique em Create User. O assistente exibe uma pgina de confirmao. Observao Deixe a ferramenta Web Site Administration aberta. Anteriormente, na explicao passo a passo, voc criou uma pasta chamada MemberPages. Nesta parte da explicao, voc criar uma regra em que somente os usurios autorizados podero acessar as pginas daquela pasta. Para configurar as regras de acesso para o subdiretrio MemberPages 1. 2. 3. No assistente, clique em Next. O assistente exibe uma pgina que permite que voc crie regras de acesso. Na caixa Add New Access Rule, expanda o n para o seu site Web. Selecione MemberPages, a pasta que voc criou anteriormente.

o o

8.

Visual Studio

177

4. 5.

Em Rule applies to, selecione Anonymous users. Em Permission, selecione Deny. A regra que voc est criando nega acesso a usurios annimos ou seja, usurios que no estejam autorizados.

6.

Clique em Add This Rule. A nova regra exibido na grade abaixo. Quando os usurios solicitam uma pgina do subdiretrio MemberPages, as regras so verificadas para determinar se o usurio tem permisso de acesso para a pgina.

7.

Clique em Finish. Agora voc terminou a configurao com o assistente. Ele fecha e voc retorna para a guia Security da ferramenta Web Site Administration.

Configurando o Aplicativo para E-mail Para parte desta explicao passo a passo, o aplicativo precisa ser ativado para enviar mensagens de e-mail. Para enviar mensagens, seu aplicativo deve ter acesso a um servidor Simple Mail Transport Protocol (SMTP), que encaminha mensagens de e-mail do seu aplicativo para um destinatrio de email. O IIS inclui o servidor virtual Default SMTP como um componente opcional, que adequado para esta explicao passo a passo. Para obter mais informaes sobre como configurar este servidor, consulte HOW TO: Instalar e Configurar os Servidores Virtuais SMTP no IIS. Se voc estiver trabalhando em uma rede local, contate o seu administrador de rede para obter informao sobre o acesso a um servidor de e-mail. Depois de ter configurado ou determinado como acessar um servidor SMTP, voc deve configurar seu aplicativo para rotear as mensagens de e-mail para o servidor. Voc pode fazer uma entrada em seu arquivo Web.config do site Web, que contm uma srie de configuraes que determinam como o seu aplicativo executa. Para configurar o aplicativo para usar um servidor SMTP especfico 1. 2. 3. Na ferramenta Web Site Administration, clique na guia Application. No SMTP Settings, clique em Configure SMTP e-mail settings. A ferramenta exibe uma pgina onde voc pode configurar e-mail. Se voc est usando o servidor virtual SMTP que est em seu computador, digite localhost como o Server Name; caso contrrio, digite o nome do servidor apropriado. Inclua informao para o nmero da porta e para a autenticao de acordo com os requisitos do seu servidor SMTP. Consulte o seu administrador para obter mais informaes sobre como configurar estas opes. 4. 5. Na caixa From, digite um endereo de e-mail vlido. Clique em Save e na a pgina de confirmao, clique em OK. A ferramenta Web Site Administration cria um arquivo Web.config (se j no existir um) com as configuraes que voc fez. Observao O arquivo Web.config no aparecer no Solution Explorer at voc atualizar a exibio.

Visual Studio

178

6.

Feche a ferramenta Web Site Administration.

Autorizando o Usurio Como parte do seu aplicativo, voc precisa estabelecer a identidade do usurio para que o aplicativo possa realizar aes como mostrar ou ocultar informao com base em quem o usurio. Para obter a identidade do usurio, preciso que o usurio execute o login. Nesta explicao passo a passo, voc adicionar um link na pgina que leva os usurios para uma pgina de login, e ento, voc criar esta pgina de login. Para criar uma pgina com um boto de login 1. Abra ou alterne para a pgina Default.aspx do seu site. (Se voc no tem uma pgina Default.aspx, voc pode adicionar uma ou usar uma pgina diferente.) Alterne para o modo Design. Digite um texto esttico como Welcome to our site e, na barra de ferramenteas Formatting, use a lista drop-down Block Format para formatar o texto como "Heading 1". A partir do grupo Login do Toolbox, arraste um controle LoginStatus para a pgina.

2. 3.

4.

Por padro, o controle LoginStatus desenhado como um link. Quando os usurios clicam neste controle, o aplicativo exibe uma pgina de login. Agora voc pode criar a pgina de login. Para criar uma pgina de login 1. No Solution Explorer, clique com o boto direito do mouse em seu aplicativo Web e selecione Add New Item. Adicione um Web Form chamado Login.aspx em seu site Observao Para esta explicao passo a passo, a pgina deve ter o nome de Login.aspx. Por padro, autenticao de formulrios configurada para trabalho com uma pgina com este nome. Embora voc no v fazer isso nesta explicao, voc pode alterar a pgina de login padro a pgina para a qual os usurios so redirecionados no arquivo Web.config. 2. 3. Na pgina Login.aspx, alterne para o modo Design. A partir do grupo Login do Toolbox, arraste um controle Login para a pgina. O controle Login um controle nico que solicita e valida as credenciais do usurio. Exibindo os Erros de Login O controle Login inclui validao para ajudar os usurios a inserir informaes corretas. Por exemplo, se um usurio ignora a senha, um controle validator exibe um asterisco (*) ao lado da caixa Password. Voc pode fornecer informaes mais completas para erros de login adicionando um controle ValidationSummary para a pgina.

Visual Studio

179

Para exibir erros de login detalhados 1. 2. A partir do grupo Validation do Toolbox, arraste um controle ValidationSummary para a pgina. Na janela Properties do controle ValidationSummary, defina a propriedade ValidationGroup para Login1, que o padro de identificao do controle Login que voc adicionou anteriormente.

Exibindo Informaes para os Usurios Autorizados Agora voc modificar a pgina para personalizar a exibio se o usurio estiver conectado. Os usurios annimos vero uma mensagem genrica convidando-os a executar o login. Os usurios conectados vero uma mensagem de boas vindas com seu nome autorizado. Para personalizar a exibio para usurios conectados 1. 2. Alterne para ou abra a pgina Default.aspx. A partir do grupo Login do Toolbox, arraste um controle LoginView para a pgina. O controle LoginView exibido com seu modelo AnonymousTemplate aberto. Este modelo permite que voc defina o contedo que os usurios vero antes de se conectarem. 3. 4. Clique na rea de edio do controle LoginView para ativar a edio. Na rea de edio do modelo Anonymous Template do controle LoginView, digite Voc no est autorizado. Clique no link Login para entrar. No painel LoginView Tasks, na lista Views, clique em LoggedInTemplate. Se voc no conseguir ver o painel LoginView Tasks, clique com o boto direito do mouse no ttulo do controle LoginView e selecione Show Smart Tag. Agora voc est definindo o contedo que ser exibido aos usurios que j esto autorizados. 6. 7. Clique na rea de edio do controle LoginView para ativar a edio, e em seguida, digite Voc est autorizado. Bem-vindo.. A partir do gupo Login do Toolbox, arraste o controle LoginName para o modelo aps o texto.

5.

Testando o Login Agora voc pode testar a funcionalidade de login do seu aplicativo. Para testar o login 1. No Solution Explorer, clique com o boto direito do mouse em Default.aspx e clique em Set As Start Page. Isso configura o site para que, ao executar o site Web, a pgina Default.aspx aparea primeiro. 2. Pressione CTRL+F5 para executar o site Web. A ???home page??? (Default.aspx) aparece no navegador, mostrando o link Login e a mensagem genrica. 3. Clique no link Login. A pgina de login que voc criou exibida.

Visual Studio

180

4.

Digite o nome de login do usurio que voc criou anteriormente na explicao passo a passo, e depois, clique em Log In. (No entre ainda com uma senha.) Um asterisco (*) exibido ao lado da caixa Password e uma mensagem de erro exibida no controle ValidationSummary.

5.

Digite tanto um nome de usurio e uma senha, e depois clique em Log In. Se voc inseriu credenciais corretas, voc retornada para a pgina inicial. A pgina agora exibe um link Logout, o seu nome de usurio, e a mensagem de boas-vindas que voc definiu para o usurio autorizado.

6.

Feche o navegador.

Limitando o Acesso para Pginas Exclusivas Uma tarefa comum em muitos sites Web configurar pginas para que somente usurios autorizados podem visualizar. Anteriormente na explicao passo a passo, voc criou o subdiretrio MemberPages e criou uma regra que limita o acesso a pginas no subdiretrio. Nesta seo da explicao, voc adicionar uma pgina ao subdiretrio protegido e testar a regra de acesso. Para criar a pgina Exclusiva 1. No Solution Explorer, clique com o boto direito do mouse na pasta MemberPages, clique em Add New Item, e adicione uma nova Web Form chamada Members.aspx. Observao Certifique-se de criar a pgina na pasta MemberPages. 2. No modo Design, adicione um texto para a pgina, como Bem-vindo, membros!. O texto exato no faz diferena, contanto que voc seja capaz de reconhecer esta pgina.

Agora voc pode adicionar um link para a pgina exclusiva. Em um aplicativo real, voc deve, provavelmente, colocar o link da pgina exclusiva no modelo conectado do controle LoginView. Dessa forma, os visitantes de seu site no veriam o link at eles estarem autorizados. Para esta explicao, entretanto, voc tornar o link disponvel para todos os usurios para que voc possa ver o efeito das tentativas fracassadas de exibir uma pgina excluvisa. Para adicionar um link para a pgina exclusiva 1. 2. 3. Alterne para ou abra a pgina Default.aspx. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para a pgina. Na janela Properties para o controle HyperLink, defina a propriedade Text para o Members page e a propriedade NavigateUrl para o ~/MemberPages/Members.aspx para apontar para a pgina que voc criou anteriormente.

Testando a Pgina Exclusiva Voc pode testar a pgina excluvisa, acessando-a como um usurio annimo ou como um usurio conectado.

Visual Studio

181

Para testar a pgina Excluvisa 1. 2. Pressione CTRL+F5 para executar o site Web. Quando a pgina Default.aspx aparece no navegador, no faa o login. Em vez disso, clique no link Members page. Voc redirecionado para a pgina Login.aspx porque o acesso para a pgina para membros foi negada para usurios annimos. 3. Na pgina de login, digite o nome de usurio e a senha que voc utilizou anteriormente na explicao passo a passo para se conectar. Voc redirecionado para a pgina Members.aspx porque o nome de usurio que voc utilizaou foi autorizado para acessar a pgina. 4. Feche a janela do navegador. Criando Novos Usurios Na primeira parte da explicao passo a passo, voc criou um usurio com a ferramenta Web Site Administration. Essa estratgia til se voc estiver trabalhando com uma lista de usurios pequena; por exemplo, se voc estiver criando usurios para uma equipe pequena. Entretando, em muitos sites Web, os usurios tm permisso para se registrarem. O ASP.NET inclui o controle CreateUserWizard que executa a mesma tarefa que voc executou anteriormente usando a ferramenta Web Site Administration. Nesta parte da explicao passo a passo, voc adicionar um recurso que permite aos usurios se registrarem em seu site Web. Para iniciar, voc criar uma pgina de registro. Para criar uma pgina de registro 1. No Solution Explorer, clique com o boto direito do mouse no nome do seu site Web, clique em Add New Item e adicione uma nova Web Form chamada Register.aspx. Observao Certifique-se de criar a pgina na raiz do site Web e no na pasta MemberPages. 2. Na pgina Register.aspx, alterne para o modo Design e digite um texto esttico, como Registro, para a pgina. Na barra de ferramentas Formatting, use a lista drop-down Block Format para formatar o texto como "Heading 1". A partir do grupo Login do Toolbox, arraste um controle CreateUserWizard para a pgina. Na janela Properties para o controle CreateUserWizard, defina a propriedade ContinueDestinationPageUrl para ~/Default.aspx. Isso configura o controle para que a execuo retorne para a home page, assim que os usurios clicarem em Continue aps a criao de um usurio, . 5. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para a pgina. Na janela Properties para o controle HyperLink, defina a propriedade Text para Home e a propriedade NavigateUrl para ~/Default.aspx.

3. 4.

Visual Studio

182

Agora voc pode adicionar um link para a home page que exibe a pgina de registro. Para esta explicao, suponha que voc deseja exibir o link de registro somente para os usurios que no esto autorizados. Para criar um link de registro na home page 1. 2. Alterne para ou abra a pgina Default.aspx. Clique com o boto direito do mouse no controle LoginView adicionado anteriormente, e selecione Show Smart Tag. No painel LoginView Tasks, selecione AnonymousTemplate da caixa de listagem Views para ativar a edio no modelo annimo. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para um modelo annimo. Na janela Properties para o controle HyperLink, defina a propriedade Text para Register e a propriedade NavigateUrl para Register.aspx. O link Register ser exibido somente para os usurios que no esto autorizados.

3.

Agora voc pode testar o processo de registro. Para testar o registro 1. 2. 3. Pressione CTRL+F5 para executar o site Web e exibir a pgina Default.aspx. Por voc no estar conectado, a pgina contendo o link Register exibida. Clique no link Register. A pgina de registro exibida. Nas caixas de texto, digite um novo nome de usurio, uma senha forte, um endereo de e-mail e uma pergunta de segurana e de resposta. (Todas as cinco peas de informao so necessrias.) Clique em Create User. Um mensagem de confirmao exibida. 5. Clique o boto Continue. Voc retorna para a home page como um usurio autorizado. Observe que o link Login foi alterado para Logout e que a informao exibida no controle Login da propriedade LoggedInTemplate, no da propriedade AnonymousTemplate. 6. 7. 8. 9. Clique no link Logout. A pgina muda para exibir a informao para os usurios annimos. Clique no link Login. Insira as credenciais para o usurio que voc acabou de criar. Voc est conectado como o novo usurio. Feche a janela do navegador. Alterando Senhas Eventualmente os usurios podem querer alterar suas senhas e freqentemente impraticvel executar essa tarefa de forma manual. Portanto, voc pode usar um outro controle do ASP.NET para permitir que os usurios alterem suas prprias senhas. Para alterar uma senha, os usurios devem conhecer sua senha atual. Nesta explicao passo a passo, voc adicionar uma pgina onde os usurios conectados podem alterar suas senhas.

4.

Visual Studio

183

Para criar uma pgina de alterao de senha 1. No Solution Explorer, clique com o boto direito do mouse na pasta MemberPages, clique em Add New Item e adicione uma nova Web Form chamada ChangePassword.aspx. Observao Certifique-se de criar a pgina na pasta MemberPages. 2. 3. Voc est colocando a pgina na pasta Members-Only porque somente os usurios autorizados podem alterar suas senhas. Na pgina ChangePassword.aspx, alterne para o modo Design e digite um texto esttico como Alterar Senha. Na barra de ferramentas Formatting, use a lista drop-down Block Format para formatar o texto como "Heading 1". A partir do grupo Login do Toolbox, arraste um controle ChangePassword para a pgina. Na janela Properties para o controle ChangePassword, defina a propriedade ContinueDestinationPageUrl para ~/Default.aspx. Isso configura o controle para que, quando os usurios clicarem em Continue aps alterar uma senha, o controle retorne para a home page.

4. 5. 6.

Agora voc pode adicionar um link para a home page que exibe a pgina de alterao de senha. Voc disponibilizar o link apenas aos usurios que esto conectados. Para criar um link de alterao de senha na home page 1. 2. Alterne para ou abra a pgina Default.aspx. Clique com o boto direito do mouse no controle LoginView e depois clique em Show Smart Tag. No menu LoginView Tasks, na lista Views, clique em LoggedInTemplate. Isso alterna o controle LoginView para o modo de edio para o contedo que ser exibido para usurios que esto conectados. 3. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para a regio de edio. Na janela Properties para o controle HyperLink, defina a propriedade Text para Change password e a propriedade NavigateUrl para ~/MemberPages/ChangePassword.aspx. O link Change password ser exibido somente aos usurios que esto conectados, sendo o oposto do link Register que voc criou anteriormente. Agora voc pode testar o processo de alterao de senha. Para testar a alterao de senha 1. 2. Pressione CTRL+F5 para executar o site Web. Na pgina Default.aspx, clique no link Login e se conecte como um dos usurios que voc criou. Quando voc tiver terminado, voc retorna para a home page como um usurio autorizado. 3. Clique no link Change password.

Visual Studio

184

4. 5. 6. 7. 8. 9.

Na pgina de alterao de senha, digite a senha antiga e uma nova senha, e depois clique em Change Password. Clique em Continue. Na home page, clique em Logout. Clique no link Login. Digite a nova senha. Voc est conectado com a nova senha. Feche a janela do navegador.

Recuperando uma Senha Ocasionalmente, os usurios esquecero suas senhas. Voc pode adicionar uma pgina de recuperao de senha ao seu site Web para que eles possam efetuar novamente a conexo para seu site. A recuperao de senha pode ter duas formas:

Voc pode enviar aos usurios a senha que eles selecionaram (ou a que voc criou para eles quando voc configurou o site). Esta opo requer que o site armazene a senha usando criptografia reversvel. Voc pode enviar aos usurios uma nova senha, que eles podem alterar usando a pgina de alterao de senha que voc criou anteriormente. Essa opo til se o site Web armazena senhas usando um esquema de criptografia no reversvel como hashing. Observao

Retornando uma senha em texto no criptografado usando e-mail no recomendado para sites que requerem um nvel alto de segurana. Para sites de alta segurana, recomendvel que voc retorne senhas usando criptografia, como o Secure Sockets Layer (SSL). Por padro, o sistema de associao do ASP.NET protege senhas por hashing, o que significa que as senhas no podem ser recuperadas. Portanto, para essa parte da explicao, seu site Web enviar aos usurios uma nova senha. Observao A recuperao de senha requer que o seu site Web possa enviar mensagens de e-mail. Se voc no consegue configurar o seu site Web para enviar email (conforme explicado em "Configurando o Aplicativo para E-mail" anteriormente), no conseguir adicionar uma recuperao de senha ao seu site. Para adicionar recuperao de senha 1. No Solution Explorer, clique com o boto direito do mouse no nome do seu site Web, clique em Add New Item e adicione uma nova Web Form chamada RecoverPassword.aspx. Observao Certifique-se de criar a pgina na raiz do site Web, no na pasta MemberPages. 2. Na pgina RecoverPassword.aspx, alterne para o modo Design digite um texto esttico como Redefinir minha senha para um novo valor. Na barra

Visual Studio

185

de ferramentas Formatting, use a lista drop-down Block Format para formatar o texto como "Heading 1". 3. 4. A partir do grupo Login do Toolbox, arraste um controle PasswordRecovery para a pgina. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para a pgina. Na janela Properties para o controle HyperLink, defina a propriedade Text para Home e a propriedade NavigateUrl para ~/Default.aspx. Alterne para a pgina Default.aspx. Clique com o boto direito do mouse no controle LoginView e depois clique em Show Smart Tag. No menu LoginView Tasks, na lista Views, clique em AnonymousTemplate. Isso alterna o controle LoginView para o modo de edio para o contedo que aparecer para os usurios que no esto autorizados. 7. A partir do grupo Standard do Toolbox, arraste um controle HyperLink para um modelo. Na janela Properties para o controle HyperLink, defina a propriedade Text para Forgot your password? e a propriedade NavigateUrl para ~/RecoverPassword.aspx.

5. 6.

Agora voc pode testar a recuperao de senha. Para testar a recuperao de senha 1. 2. 3. 4. Pressione CTRL+F5 para executar o site Web. Por padro, voc no est autorizado, ento voc v o modelo annimo do controle LoginView. Clique no link Forgot your password?. A pgina RecoverPassword.aspx aparece. Digite seu nome de usurio e clique em Submit. A pergunta de segurana exibida e solicitado que voc digite a resposta de segurana. 5. Digite a resposta e clique em Submit. Se voc inseriu uma resposta correta, o site Web redefine sua senha e envia para voc uma mensagem de e-mail com a nova senha. Prximas Etapas Esta explicao passo a passo tem ilustrado um cenrio simples mas completo para criar um aplicativo que solicita credenciais de usurios, exibe informao para os usurios autorizados, permite que os usurios recuperem uma senha esquecida e limita o acesso s pginas. Voc pode criar pginas e aplicativos mais sofisticados usando as tcnicas e controles ilustrados na explicao. Por exemplo, voc pode desejar:

Criar usurios adicionais e definir funes (grupos) como gerentes, vendas ou membros e associar membro para diferentes funes. Para obter detalhes, consulte Explicao Passo a Passo: Gerenciando Usurios de Site Web Usando Funes. Altere o provedor da associao de provedor Access padro para um provedor SQL. Armazenar as informaes de associao em um banco de dados Access adequado para sites pequenos e mdios, mas se o seu site passar por

Visual Studio

186

trfego pesado, voc desejar utilizar o Microsoft SQL Server para armazenas os dados de associao. Para obter mais informaes, consulte Web Site Administration Tool Provider Tab e Criando Banco de Dados de Servios do Aplicativo para SQL Server.

Alterar a aparncia dos controles de login. Os controles Login, PasswordRecovery e CreateUserWizard possuem suporte para modelos, que permiteme que voc configure o texto e os botes que ele contm, assim como a cor, a fonte e outras caractersticas de aparncia.Para obter mais informaes, consulte os tpicos na seo Controles de Login do ASP.NET: Criar regras que limitam o acesso s pginas ou pastas no apenas para usurios annimos, mas para usurios ou funes especficos. Combinar a associao com as propriedades de perfil, que permitem a voc armazenar configuraes especficas para cada usurio. Para obter detalhes, consulte Explicao Passo a Passo: Mantendo a Informao do Usurio do Site Web com Propriedades de Perfil. Combinar os controles de login com as pginas mestras. As pginas mestras permitem que voc defina um layout da pgina que pode ser usado para todas as pginas em seu aplicativo. Para obter detalhes, consulte Explicao Passo a Passo: Criando e Usando as Pginas Mestras do ASP.NET em Visual Web Developer. Adicionar o recurso para recuperar uma senha esquecida. Para mais informaes, consulte HOW TO: Ativar a Recuperao de Senha de Usurio Usando o Controle PasswordRecovery do ASP.NET.

Visual Studio

187

Passo-a-passo: Criando e usando um servio da Web ASP.NET no Visual Web Developer


Alm de permitir que voc crie pginas da Web, o Microsoft Visual Studio tambm deixa que voc crie servios da Web que usem ASP.NET XML. A criao de um servio da Web no Visual Studio semelhante a criar uma pgina da Web. Voc tambm pode usar a ferramenta de desenvolvimento Web do Microsoft Visual Web Developer para referenciar e usar servios da Web que esto em uma soluo do Visual Web Developer em seu computador local ou em um diretrio UDDI local ou externo. Nesta explicao passo a passo, voc ir criar o servio da Web em uma soluo e us-lo em outra. As tarefas ilustradas nesta explicao passo a passo incluem:

Criar um XML Web Service simples no Visual Web Developer. Criar um site em separado que usa o servio da Web. Pr-requisitos

Para concluir esta explicao passo a passo, ser necessrio:

Servios de Informaes da Internet da Microsoft (IIS) instalado localmente em seu computador. Criando um servio da Web na raiz do IIS

Crie um novo servio e uma pgina da Web seguindo estas etapas. Observao Voc deve usar um site do IIS para esta explicao passo a passo. Para criar um servio da Web 1. 2. 3. 4. 5. 6. 7. 8. 9. Abra o Visual Web Developer. No menu File, clique em New Web Site. A caixa de dilogo New Web Site aparece. Em Visual Studio installed templates, clique em ASP.NET Web Service. Clique em Browse. Clique em Local IIS. Clique em Default Web Site. Clique em Create New Web Application. O Visual Web Developer cria um novo aplicativo da Web do IIS. Digite o nome TemperatureWebService. Clique em Open. A caixa de dilogo New Web Site aparece com o nome do novo site no canto mais a direita da lista Location. A localidade inclui o protocolo (http://) e a localidade (localhost). Isso Indica que voc est trabalhando com um site local do IIS.

Visual Studio

188

10. Na lista Language, clique na linguagem de programao com a qual voc prefere trabalhar. A linguagem de programao que voc escolher ser o padro para o site. Entretanto, voc pode usar mais de uma linguagem no mesmo aplicativo da Web, criando pginas e componentes em linguagens de programao diferentes. Para obter mais informaes sobre como criar componentes usando diferentes linguagens, consulte Pastas de cdigo compartilhadas em sites do ASP.NET. 11. Clique em OK. O Visual Web Developer cria o novo servio da Web e abre uma nova classe chamada Service, que o servio da Web padro. Entretanto, no procedimento a seguir ser criado um novo servio da Web com um nome diferente e no voc usar a classe Service. 12. Feche a classe Service. Criando o servio da Web Voc criar um servio da Web que converte a temperatura de Fahrenheit para Celsius e vice-versa. Para criar o servio da Web 1. 2. 3. No Solution Explorer, clique com o boto direito do mouse no nome do site (http://localhost/TemperatureWebService), e clique em Add New Item. Em Visual Studio installed templates, clique em Web Service, e na caixa Name, digite Convert. Certifique-se de que a caixa de seleo Place code in separate file est selecionada e clique em Add. O Visual Web Developer cria um novo servio da Web que composto de dois arquivos. O arquivo Convert.asmx o arquivo que pode ser chamado para chamar os mtodos do servio da Web e ele aponta para o cdigo do servio da Web. O cdigo propriamente dito est em um arquivo de classe (Convert.vb, Convert.cs, ou Convert.jsl, dependendo da linguagem de programao) na pasta App_Code. O arquivo de cdigo contm um modelo para um servio da Web. O arquivo de cdigo inclui um cdigo para um mtodo do servio da Web. Voc criar dois mtodos no servio da Web. O primeiro mtodo converte temperaturas Fahrenheit para Celsius, e o segundo mtodo converte temperaturas Celsius para Fahrenheit. Para criar os mtodos de converso 1. Adicione o seguinte cdigo dentro a classe, aps o mtodo HelloWorld: C#
[System.Web.Services.WebMethod()] public double FahrenheitToCelsius(double Fahrenheit) { return ((Fahrenheit - 32) * 5) / 9; } [System.Web.Services.WebMethod()] public double CelsiusToFahrenheit(double Celsius) { return ((Celsius * 9) / 5) + 32; }

Observe que os nomes das funes so precedidos com um atributo ([System.Web.Services.WebMethod()] ou <System.Web.Services.WebMethod()>) como parte da declarao da funo 2. Depois que voc inseriu as funes, salve o arquivo.

Visual Studio

189

Agora voc pode testar o servio da Web no Visual Web Developer. Para testar o servio da Web 1. No Solution Explorer, clique em Convert.asmx e pressione CTRL+F5. O servio da Web chamado e aparece uma pgina no navegador que mostra os mtodos que so expostos pelo servio da Web. 2. Clique em CelsiusToFahrenheit, que chama esse mtodo. Aparece uma pgina que solicita que voc entre os valores dos parmetros para o mtodo CelsiusToFahrenheit. 3. Na caixa Celsius, digite 100 e clique em Invoke. Uma nova janela aparece exibindo o XML que o servio da Web retorna quando o mtodo CelsiusToFahrenheit chamado. O valor 212 aparece no XML. 4. 5. 6. Feche o navegador que contm os resultados do mtodo. No navegador original, clique em Back para retornar para a lista de mtodos. Clique em FahrenheitToCelsius e teste para certificar-se de que o mtodo est retornando os resultados que voc espera. Se voc digitar 212, o mtodo FahrenheitToCelsius retornar 100. 7. Feche o navegador. Voc terminou de criar o servio da Web; a prxima etapa us-lo. Usando o servio da Web Agora que voc tem um servio da Web, voc ir criar um site onde voc ir referenciar e usar o servio da Web que voc criou. Para a explicao passo a passo, voc ir criar um site separado que tenha uma pgina onde voc inicia os mtodos do servio da Web recm-criado. Para criar um site para usar o servio da Web 1. 2. 3. 4. 5. 6. 7. 8. 9. No menu File, clique em New Web Site. Em Visual Studio installed templates, clique em ASP.NET Web Site. Clique em Browse. Clique em Local IIS. Clique em Default Web Site. Clique em Create New Web Application. O Visual Web Developer cria um novo aplicativo da Web do IIS. Digite o nome TemperatureWeb. Clique em Open. Na lista Language, clique na linguagem de programao com a qual voc prefere para trabalhar. O Visual Web Developer cria um novo site local do IIS e uma nova pgina chamada Default.aspx. Adicionando o servio da Web como um componente

10. Clique em OK.

Visual Studio

190

O servio da Web um componente que voc pode referenciar no seu aplicativo. Portanto, voc deve criar uma referncia a ele. Para criar uma referncia para o servio da Web 1. No Solution Explorer, clique com o boto direito do mouse no nome do site e clique em Add Web Reference. A caixa de dilogo Add Web Reference aparece, como mostrado no seguinte instantneo: Caixa de dilogo Add Web Reference

2.

Na lista URL, digite a seguinte URL para o servio da Web e, em seguida, clique em Go: http://localhost/TemperatureWebService/Convert.asmx Quando o Visual Web Developer encontra o servio da Web, as informaes sobre o servio da Web aparecem na caixa de dilogo Add Web References. Observao Se voc no puder adicionar uma referncia para um servio da Web, pode ser que o servidor proxy no esteja configurado corretamente. No Microsoft Internet Explorer, no menu Ferramentas, clique em Opes da Internet, clique em Conexes e clique em Configuraes de LAN. Selecione a caixa de seleo Ignorar servidor de proxy para endereos locais. Alm disso, defina o endereo do servidor proxy com o nome exato do servidor proxy em vez de permitir que o Internet Explorer detecte o servidor proxy. Para obter mais informaes, contate o administrador de rede.

3. 4.

Clique em um dos links dos mtodos. O pgina de teste para o mtodo aparece. Clique em Add Reference. O Visual Web Developer cria uma pasta App_WebReferences e lhe adiciona uma pasta para a nova referncia da Web. Por padro, so atribudas s referncias da Web um namespace correspondente ao seu nome de servidor (neste caso, localhost). Anote o nome do namespace para a referncia da Web. Na pasta, o Visual Web Developer adiciona um arquivo .WSDL que referencia o servio da Web. Ele tambm adiciona arquivos de suporte, como arquivos de busca (.disco e .discomap), que incluem informaes sobre onde o servio da Web est localizado. Observao Se o nome do servidor para o servio da Web contiver caracteres que no podem ser usados para um nome de classe, como um hfen (-), o Visual Web Developer converte os caracteres em um caractere sublinhado (_). Portanto, o namespace no Visual Web Developer para o servio da Web pode no corresponder exatamente ao nome do servidor.

Agora voc pode usar o servio da Web. Nesta explicao passo a passo, voc ir adicionar controles ao Default.aspx, e depois programar os controles para converter uma temperatura especificada em Fahrenheit e em Celsius. Quando a pgina estiver sendo executada, ela parecer com a seguinte ilustrao.

Visual Studio

191

Temperature conversion page

Para chamar os mtodos do servio da Web 1. 2. Abra a pgina Default.aspx e alterne para o modo Design. A partir do grupo Standard na caixa de ferramentas, arraste os seguintes controles para a pgina e definia suas propriedades conforme o indicado: Controle Textbox Propriedades IDTemperatureTextbox Text: (vazio) Button IDConvertButton Text: Convert Label IDFahrenheitLabel Text: (vazio) Label IDCelsiusLabel Text: (vazio) 3. 4. 5. Opcionalmente, adicione texto pgina nas legendas. O layout de pgina para esta explicao passo a passo no importante. Clique duas vezes em ConvertButton para criar um manipulador de eventos para o evento Click. Verifique se o cdigo do seu manipulador de eventos corresponde ao cdigo de exemplo a seguir: C#
protected void ConvertButton_Click(object sender, EventArgs e) { localhost.Convert wsConvert = new localhost.Convert(); double temperature = System.Convert.ToDouble(TemperatureTextbox.Text); FahrenheitLabel.Text = "Fahrenheit To Celsius = " + wsConvert.FahrenheitToCelsius(temperature).ToString(); CelsiusLabel.Text = "Celsius To Fahrenheit = " + wsConvert.CelsiusToFahrenheit(temperature).ToString(); }

6. 7.

Pressione CTRL+F5 para executar a pgina. Na caixa de texto, digite um valor, como 100, e clique em Convert. A pgina exibe o resultado da converso do valor da temperatura em Fahrenheit e em Celsius.

Depurando o servio da Web Voc pode depurar um servio da Web da mesma maneira que voc depura pginas da Web.

Visual Studio

192

Observao O Visual Web Developer Express Edition e o Visual Studio Standard Edition no oferecem suporte passo a passo por dentro das chamadas em um servio da Web de uma pgina que o referencia. Se voc estiver usando o Visual Web Developer Express Edition ou o Visual Studio Standard Edition, ignore esta seo e as seguintes. Para obter mais informaes sobre como depurar sites da Web, consulte Passo-a-passo: Depurando pginas da Web no Visual Web Developer. Para iniciar, voc deve configurar o site que contm o servio da Web para ativar a depurao. Para ativar a depurao no site de servios da Web 1. 2. 3. 4. No menu File, clique em Open Web Site. Clique em Local IIS. Clique em TemperatureWebService e clique em Open. No menu Website, clique em ASP.NET Configuration para abrir o Web Site Administration Tool. Observao Se esta for a primeira vez que voc tiver executado o Web Site Administration Tool, pode demorar um pouco antes de ele aparecer. 5. 6. 7. Clique em Application e clique em Application Configuration. Em Debugging and Tracing, clique em Configure debugging and tracing. Selecione a caixa de seleo Enable debugging. O Web Site Administration Tool cria um arquivo Web.config para o site e define uma opo de configurao para ativar a depurao. Observao Para consultar o arquivo Web.config no Solution Explorer, clique no nome do site e, na barra de ferramentas do Solution Explorer, clique em Refresh. 8. Feche o Web Site Administration Tool.

Agora voc deve ativar a depurao para o site que usa o servio da Web. Para ativar a depurao do site 1. 2. 3. Abra o site TemperatureWeb. No menu Website, clique em ASP.NET Configuration para abrir o Web Site Administration Tool. Clique em Application, clique em Application Configuration em Debugging and Tracing, clique em Configure debugging and tracing e selecione a caixa de seleo Enable debugging. Feche o Web Site Administration Tool.

4.

Visual Studio

193

Observao Para consultar o arquivo Web.config no Solution Explorer, selecione o nome do site e clique em Refresh na barra de ferramentas do Solution Explorer. 5. No Solution Explorer, clique com o boto direito do mouse em Default.aspx e clique em View Code. O Visual Web Developer abre o arquivo de cdigo para a pgina. 6. Posicione o ponteiro do mouse na seguinte linha: C#
double temperature = System.Convert.ToDouble(TemperatureTextbox.Text);

7.

Pressione F9 para definir um ponto de interrupo na linha.

Testando a depurao O site e o servio da Web esto configurados para a depurao, para que voc agora possa comear a depurar. Voc ir iniciar na pgina Default.aspx e depurar o cdigo at que o cdigo chame o servio da Web. O depurador alternar para o servio da Web e continuar a depurao atravs do cdigo. Para depurar a pgina e o servio da Web 1. 2. Pressione F5 para executar a pgina Default.aspx usando depurao. A pgina aparece no navegador. Na caixa, digite um valor, como 100, e clique em Convert. O Visual Web Developer comea a executar o cdigo da pgina, mas pra e reala a linha com o ponto de interrupo sobre ele. 3. 4. Pressione F11 para ir para a prxima linha. Pressione F11 novamente. Como a linha seguinte chama o servio da Web, o depurador vai para o servio da Web, parando na primeira linha do mtodo FahrenheitToCelsius. 5. Continue pressionando F11. O depurador avana atravs do restante do mtodo e retorna para a pgina que chamou o mtodo. Se voc continuar a depurao, o depurador ir de volta para o servio da Web e para o mtodo CelsiusToFahrenheit. 6. Feche o navegador, que tambm fecha o depurador. Prximas etapas Esta explicao passo a passo ilustrou os princpios bsicos de criao de um servio da Web muito simples e de us-lo em um aplicativo ASP.NET. Voc pode desejar experimentar servios da Web com recursos adicionais e mais complexos. Sugestes para exploraes adicionais incluem o seguinte:

Compreender o processamento que ocorre quando voc faz uma chamada XML Web Service. Para mais informaes, consulte Anatomia do tempo de vida de um XML Web Service.

Entender como usar XML Web Services.

Visual Studio

194

Para mais informaes, consulte Cenrios do XML Web Service.

Criar XML Web Services que oferecem funcionalidades mais sofisticadas do que o servio da Web simples desta explicao passo a passo. Voc pode criar e encadear chamadas de mtodos de servios da Web assncronas, usar transaes, proteger os servios da Web, configurar servios da Web para autenticao do Microsoft Windows, e assim por diante. Para mais informaes, consulte XML Web Services utilizando ASP.NET . Aprender sobre os recursos especficos da linguagem e da tecnologia fornecidos pelo XML Web Service. Para obter mais informaes, consulte XML Web Services no Visual FoxPro, Introduo programao de XML Web Services em cdigo gerenciado, Servios da Web (como fao no Visual Basic), XML Web Services criados com o servidor ATL e Explicaes passo a passo sobre a criao e o acesso a XML Web Services.

Visual Studio

195

Criando e Acessando Explicaes Passo a Passo de XML Web Services


XML Web Services fornecem acesso programtico a lgica do aplicativo usando protocolos padro da Web, como XML e HTTP. XML Web Services podem ser aplicativos autnomos ou subcomponentes de um aplicativo maior da Web. XML Web Services so acessveis de praticamente qualquer outro tipo de aplicativo, incluindo outros XML Web Services, aplicativos Web, aplicativos do Windows e aplicativos console. O nico requisito de que o cliente possa enviar, receber, e processar mensagens de e para um XML Web Service. Para obter mais informaes, consulte Programao na Web com XML Web Services. Essas explicaes passo a passo cobrem dois caminhos de desenvolvimento logicamente separados, criando XML Web Services e acessando XML Web Services. Embora voc possa ser tanto o criador e o usurio de um XML Web Services especfico, os processos so distintamente separados. claro, voc precisar criar um XML Web Services antes de poder acess-lo. As explicaes passo a passo de criao de XML Web Services usar duas tecnologias separadas para implementar um XML Web Services. Em todos os casos, voc cria a mesma funcionalidade XML Web Services; a nica diferena o mtodo de implementao. As explicaes passo a passo de acesso a XML Web Services concentram nas etapas necessrias para acessar XML Web Services no cdigo gerenciado e cdigo no gerenciado. Em cada explicao passo a passo, o aplicativo cliente acessa o XML Web Services usando uma classe proxy gerada pelo Visual Studio. Observao Em cada explicao passo a passo voc ir acessar um XML Web Services criado em uma das explicaes passo a passo acima "Criando um XML Web Service...". Ou seja, no necessrio concluir pelo menos uma das explicaes passo a passo "Criando um XML Web Service..." antes de tentar um das explicaes passo a passo " Acessando um XML Web Service ". Para uma demonstrao de um XML Web Services que retorna um DataSet altamente tipado de SQL Server e processa atualizaes de aplicativos Windows e da Web, consulte Criando um aplicativo distribudo Walkthrough:.

Visual Studio

196

Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C#
Explicao passo a passo a seguir descreve o processo para criar um XML Web Services que converte temperaturas medidas em Fahrenheit para Celsius usando Visual Basic ou C# visual. Voc durante esta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um XML Web Services usando o modelo projeto servio ASP.NET Web. Implementar o XML Web Services. Executar o XML Web Services no modo de depurao. Implantar o XML Web Services.

Para concluir o explicao passo a passo, voc precisar ter acesso a uma mquina que atende aos requisitos para criar um projeto da Web. Para obter mais informaes, consulte Tour guiado da criao de sites no Visual Web Developer e Passo a passo: Criando e usando um servio da Web do ASP.NET no Visual Web Developer. Criar projeto servio XML da Web O Visual Studio fornece um modelo de projeto ASP.NET Web Service para ajud-lo a criar XML Web Services no Visual Basic e Visual C#. Para criar um ASP.NET Web Service Project 1. 2. 3. No menu File, escolha New Web Site. Na caixa de dilogo New Web Site, selecione o cone ASP.NET Web Service. Digite o endereo do servidor Web no qual voc ir desenvolver o XML Web Services e especifique TempConvert1 como o nome do diretrio, tal como " http://MyServer/TempConvert1 ". Por padro, o projeto usa seu computador local, " http://localhost ". Observao Para alguns tipos de projeto, o caixa de texto Name est disponvel porque especificando a localidade define em vez disso o nome do projeto. Por exemplo, aplicativos da Web e XML Web Services esto localizados em um servidor Web e derivam seus nomes do diretrio virtual especificado no servidor. Observao Voc desenvolve XML Web Services em um servidor de desenvolvimento. Por padro, o servidor de desenvolvimento sua mquina local. Normalmente, voce desenvolve e constri o projeto em um servidor de desenvolvimento, e ento voc o implementa em outro servidor (o servidor se implementao) que ir hospedar o XML Web service usando um projeto de implementao. Entretanto, se voc estiver desenvolvendo diretamente no servidor que hospedar o XML Web Services, o servidor de desenvolvimento e o servidor de implantao so os mesmos.

Visual Studio

197

4.

Clique OK para criar o projeto.

O Visual Studio automaticamente cria os arquivos necessrios e inclui as referncias necessrias para suportar um XML Web Services. Quando voc criar um projeto XML Web Services no Visual Studio, ver o criador de componente para Service1.asmx. Implementar o servio da Web XML A prxima etapa escrever o cdigo para implementar a funcionalidade do XML Web Services que os clientes iro acessar. Para XML Web Services criados no Visual Studio, um arquivo oculto code-behind associado ao arquivo.asmx do XML Web Services que o Visual Studio criou para voc contm esse cdigo. Para obter mais informaes, consulte COMO: Criar um Mtodo de Servio da Web XML. Para adicionar um mtodo de XML Web Service 1. No arquivo cdigo Service.vb, localize o cdigo para a declarao de classe
Service. Substituia o cdigo de atributo System.Web.Services.WebService com o

seguinte cdigo antes da declarao de classe (mostrada em negrito): Visual Basic

<System.Web.Services.WebService( _ Namespace:="http://Walkthrough/XmlWebServices/", _ Description:="A temperature conversion service.")> _ Public Class Service [System.Web.Services.WebService( Namespace="http://Walkthrough/XmlWebServices/", Description="A temperature conversion service.")] public class Service : System.Web.Services.WebService

Unindo o atributo WebService classe Public se torna possvel a incluso de informao adicional sobre o XML Web Service, como um namespace para o XML Web Service e uma descrio para o XML Web Service. A propriedade description desse atributo est includa na pgina de ajuda de Service. Para obter mais informaes, consulte COMO: Usar o Atributo WebService. 2. Na classe Service, adicione o seguinte cdigo para declarar a funo ConvertTemperature: Visual Basic
<WebMethod(Description:="This method converts a temperature in " & _ "degrees Fahrenheit to a temperature in degrees Celsius.")> _ Public Function ConvertTemperature(ByVal dFahrenheit As Double) _ As Double Return ((dFahrenheit - 32) * 5) / 9 End Function [WebMethod(Description="This method converts a temperature in " + "degrees Fahrenheit to a temperature in degrees Celsius.")] public double ConvertTemperature(double dFahrenheit) { return ((dFahrenheit - 32) * 5) / 9; }

Anexando o atributo WebMethod a um mtodo Public expe esse mtodo como parte do XML Web Services. A propriedade description deste atributo est includo na pgina ajuda de Service e na pgina de ajuda Service Methods. Para obter mais informaes, consulte COMO: Usar o Atributo WebMethod. 3. 4. Clique com o boto direito do mouse Service.asmx em Solution Explorer e clique Set as Start Page no menu de atalho. Salvar a soluo.

Depurar o XML Web Service O Visual Studio oferece vrios mtodos para criar e executar um XML Web Services a partir da IDE, tais como:

Visual Studio

198

Iniciar (com depurao) Iniciar sem depurao Modo de Exibio no navegador

Como um projeto Visual Studio, este XML Web Services tem configuraes separadas para as verses de lanamento e depurao. Como voc criou este projeto usando o modelo de projeto do servio da Web ASP.NET, Visual Studio automaticamente criou essas configuraes e definiu as opes padro apropriadas e outras configuraes. Para obter mais informaes, consulte HOW TO: definir depurao e configuraes de verso. Nesta explicao passo a passo, ser colocado um ponto de interrupo no XML Web Services e usado o mtodo Start (with Debugging). Para obter mais informaes, consulte Como Depurar XML Web Services em Cdigo No Gerenciado. Antes de depurao, verifique as configuraes de depurao. Para obter mais informaes, consulte Projetos Servio da Web XML depurao preparao:. Para usar um ponto de interrupo e iniciar o XML Web Services com depurao 1. No menu Debug, escolher New Breakpoint, ento Break At Function. Na guia Function, digite ConvertTemperature na caixa Function e clique OK para adicionar um ponto de interrupo na declarao de mtodo ConvertTemperature. 2. No menu Debug, clique em Start, clique Ok na janela Debugging Not Enabled para iniciar depurao. Este comando instrui o Visual Studio a executar o XML Web Services no depurador. O Visual Studio cria o projeto e o implanta para o servidor de desenvolvimento designado. Aps a concluso, o navegador padro exibe o arquivo.asmx a partir do servidor de implantao. Quando voc abre um arquivo.asmx em um navegador, o XML Web Services retorna uma pgina Service auxiliar que fornece informaes sobre o XML Web Services. O Service Description link leva voc para um documento XML que contm a descrio servio formal do XML Web Services. Para obter mais informaes, consulte XML Web Service Description. 3. 4. Na pgina de ajuda Service, clique no link ConvertTemperature. Na caixa dFahrenheit, digite o nmero 212, e clique no boto Invoke. Quando o processamento atingir a funo ConvertTemperature, o processamento pra. O depurador Visual Studio reala a linha que contm o ponto de interrupo; enquanto ele interrompido, voc pode executar uma variedade de tarefas. Para obter mais informaes, consulte Explicao detalhada sobre o depurador e Exibindo Dados no Depurador. 5. 6. No menu Debug, clique em Continue para continuar o processamento. O XML Web Services responde retornando o valor convertido em um documento XML semelhante ao seguinte:
<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>

Para interromper a execuo do XML Web Services e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging.

Visual Studio

199

7.

No menu Debug, clique em Delete All Breakpoints.

Implantando o XML Web Service Para tornar seu XML Web Services disponvel para outros, voc deve implant-lo em um servidor Web que seja acessvel para os clientes que voc queira dar suporte. Para distribuir o XML Web Services para um servidor que no seja o servidor de desenvolvimento, voc pode adicionar um projeto Web Setup ou copiar os arquivos necessrios para o servidor de destino. Nesta explicao passo a passo, voc pode escolher como implantar este XML Web Services. Para obter mais informaes, consulte COMO: Implantar Servios da Web XML no Cdigo Gerenciado. Para implantar o XML Web Services usando um projeto Web Setup 1. 2. 3. No menu File, aponte para Add, e clique New Project. Selecionar o n Other, e o n Setup and Deployment Projects, e clique em Web Setup Project. Na caixa Name, digitar TempConvert1WebSetup, e clique OK. Observao Por padro, o instalador usa o nome do projeto de implantao ao criar o diretrio virtual em seu servidor de implantao. 4. 5. 6. No painel esquerdo do File System Editor, selecione Web Application Folder. Para obter mais informaes, consulte File System Editor. No Solution Explorer, clique com o boto direito do mouse em TempConvert1WebSetup, aponte para Add, e clique Project Output. Na caixa de dilogo Add Project Output Group, selecione Content Files. Para obter mais informaes, consulte Como adicionar e remover Outputs Project no File System Editor:. O grupo Content Files consiste dos seguintes arquivos para o XML Web Services: Service1.asmx, GLOBAL.asax, e Web.config. Para obter mais informaes, consulte COMO: Implantar Servios da Web XML no Cdigo Gerenciado. Clique em OK. No Solution Explorer, clique com o boto direito do mouse no projetoTempConvert1WebSetup, e no menu de atalho, clique Build. Isso cria um arquivo do Windows Installer no diretrio de projeto local. Executar este arquivo instala o aplicativo da Web. Para implantar o XML Web Services, copiando o projeto 1. 2. 3. No Solution Explorer, selecione o projeto TempConvert1. No menu Project, clique em Copy Web Site. Clique no cone ao lado da caixa suspensa Connect To para abrir a caixa de dilogo Open Web Site. Navegue para a localidade para a qual voc deseja copiar o projeto. No painel Source Web Site, selecione os arquivos para copiar e mov-los para o painel Remote Web Site, clicando no cone de seta direita. .

7. 8.

4.

Visual Studio

200

5.

Clique Copy Web Site para copiar o site.

Finalmente, para criar um aplicativo cliente que acesse esse XML Web Services, consulte um destes procedimentos:

Passo-a-Passo: acessando um XML Web Services utilizando Visual Basic ou Visual C# Acessar um servio da Web XML usando C++ Walkthrough: Acessar um servio da Web XML usando C++ e o CLR Walkthrough:

Visual Studio

201

Passo-a-passo: Criando um XML Web Service usando C++ e o CLR


Os desenvolvedores podem usar a nova sintaxe C++ para expor funcionalidade escrita em C++ como um servio XML da Web. Usando essa sintaxe, os desenvolvedores podem criar classes gerenciadas usando C++. Essas classes e seus mtodos pblicos ento podem ser expostos como servios XML da Web usando arquivos.asmx da mesma maneira como os Servios XML da Web no Visual Basic e Visual C#. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um servio XML da Web usando o ASP.NET Web Service modelo de projeto. Implementar o XML Web Services. Depurar o servio da Web XML. Implantar o XML Web Services.

Para concluir o explicao passo a passo, voc precisar ter acesso a uma mquina que atende aos requisitos para criar um projeto da Web. Para obter mais informaes, consulte Requisitos de hardware do Visual Studio. Voc tambm precisar de permisses suficientes para ser capaz de criar projetos XML Web Services no computador onde seu servidor Web est. Criar projeto servio XML da Web Usando o ASP.NET Web Service modelo de projeto, Visual Studio cria automaticamente um projeto do servio XML da Web que usa C++. Para criar um projeto Servio da Web ASP.NET com C++ 1. 2. 3. No menu File, aponte para New, e clique Project para abrir a New Project caixa de dilogo. Selecione a Visual C++ Projects pasta, e, em seguida, clique no ASP.NET Web Service cone. Na caixa Name, digite TempConvert3 e depois clique em OK. O modelo de projeto fornece automaticamente os arquivos necessrios e referncias a suporte um servio XML da Web. Dica No Solution Explorer Consulte o arquivo ReadMe.txt que descreve os projetos e arquivos gerados. Implementar o servio da Web XML A prxima etapa para gravar o cdigo para implementar a funcionalidade do que os clientes podem acessar o servio da Web XML. Quando o servidor Web recebe uma solicitao para o servio da Web XML, ele chama TempConvert3.asmx, que por sua vez chama este cdigo. Observao

Visual Studio

202

Para exibir o contedo do arquivo.asmx, no Solution Explorer, clique com o boto direito do mouse no arquivo.asmx e clique Open With no menu de atalho. Na caixa Open With de dilogo, selecione Source Code (Text) Editor e clique em OK O arquivo.asmx Especifica a classe que a implementao do servio da Web XML na propriedade Class do arquivo WebService.asmx diretiva de processamento, que lembra o seguinte:
<%@ WebService Class="TempConvert3.TempConvert3Class" %>

Dica Se voc optar por renomear a classe, certifique-se alterar o nome de classe no Class atributo da diretiva WebService. Para adicionar um mtodo de XML Web Service 1. 2. Clique duas vezes o Component Designer na superfcie do design para exibir o cdigo para esse arquivo, TempConvert3Class.h. Os mtodos da classe TempConvert3Class fornecer a implementao do servio da Web XML. Herda TempConvert3Class da classe System::Web::Services::WebService base. Localize a declarao de classe:
public ref class TempConvert3Class : public System::Web::Services::WebService

Insira o seguinte cdigo antes que declarao:


[System::Web::Services::WebServiceAttribute( Namespace="http://Walkthrough/XmlWebServices/", Description="A temperature conversion XML Web Service.")]

Anexar o System::Web::Services::WebServiceAttribute atributo a essa classe torna possvel para que voc possa incluir informaes adicionais sobre o servio XML da Web, como especificar um espao para nome e uma descrio. A propriedade description desse atributo est includa na pgina de ajuda de Service. Para obter mais informaes, consulte WebServiceAttribute. 3. Voc ir adicionar um mtodo pblico para esta classe e expor esse mtodo como parte do servio da Web XML. Localize o mtodo HelloWorld de exemplo:
public: [System::Web::Services::WebMethod] String ^HelloWorld(); // TODO: Add the methods of your Web Service here

Substituir esse mtodo com o seguinte:


public: [System::Web::Services::WebMethod( Description="Converts temperatures from F to C.")] double ConvertTemperature(double dFahrenheit);

Anexar o System::Web::Services::WebMethod atributo a este mtodo indica que voc deseja o mtodo exposto como parte do servio da Web XML. A propriedade description deste atributo est includo na pgina ajuda de Service e na pgina de ajuda Service Methods. Para obter mais informaes, consulte WebMethodAttribute.

Visual Studio

203

4. 5.

No Solution Explorer, localize TempConvert3Class.cpp na pasta Source Files do Projeto TempConvert3 e abrir este arquivo para edio. Localizar e substituir o contedo do espao para nome TempConvert3 com o seguinte:
namespace TempConvert3 { double TempConvert3Class::ConvertTemperature(double dFahrenheit) { return ((dFahrenheit - 32) * 5) / 9; } };

6. 7.

Salve a soluo. No menu Build, clique em Build Solution.

Depurar o XML Web Service O Visual Studio oferece vrios mtodos para criar e executar um XML Web Services a partir da IDE, tais como:

Start Debugging Start Without Debugging View in Browser

Como um projeto Visual Studio, este XML Web Services tem configuraes separadas para as verses de lanamento e depurao. Criadas essas configuraes porque voc criado este projeto usando o ASP.NET Web Service modelo de projeto, Visual Studio automaticamente e definir as opes padro apropriado e outras configuraes. Para obter mais informaes, consulte HOW TO: definir depurao e configuraes de verso. Nessa explicao passo a passo, ser colocar um ponto de interrupo no servio XML da Web e use o Start Debugging mtodo. Quando o servio da Web XML estiver sendo executado, ser anexar ao processo do sistema em que estiver sendo executado para depur-la. Para obter mais informaes, consulte Como Depurar XML Web Services em Cdigo No Gerenciado. Antes da depurao, verifique as configuraes de depurao. Para obter mais informaes, consulte Preparao da Depurao: Web Services XML (C++). Para usar um ponto de interrupo e iniciar o XML Web Services com depurao 1. No menu Debug, selecione New Breakpoint, e selecione Break at Function. Na caixa New Breakpoint de dilogo, digite TempConvert3::TempConvert3Class::ConvertTemperature lado para Function e clique OK para colocar um ponto de interrupo na declarao ConvertTemperature de mtodo. 2. No menu Debug, clique em Start Debugging. Este comando instrui Visual Studio para executar o servio XML da Web como ele faria normalmente. O Visual Studio compila o projeto e o implanta no servidor de desenvolvimento designado. Aps a concluso, o navegador padro exibe o arquivo.asmx a partir do servidor de implantao. Quando voc abre um arquivo.asmx em um navegador, o XML Web Services retorna uma pgina Service auxiliar que fornece informaes sobre o XML Web Services. Clicar no Service Description Link retorna um documento XML que contm o descrio do servio formal do servio XML Web. Para obter mais informaes, consulte Descrio do XML Web Service.

Visual Studio

204

3. 4.

Na pgina TempConvert3Class Servio da Web, clique no ConvertTemperature Link. Na caixa dFahrenheit, digite o nmero 212, e clique no Invoke boto. Quando processamento atinge a ConvertTemperature funo, processamento pra. O depurador do Visual Studio reala a linha que contm o ponto de interrupo e, enquanto interrompido, voc poder executar uma variedade de tarefas. Para obter mais informaes, consulte Debugger and Language Overview e Exibindo Dados no Depurador.

5. 6.

No menu Debug, clique Continue para continuar o processamento. O XML Web Services responde retornando o valor convertido em um documento XML semelhante ao seguinte:
<?xml version="1.0" encoding="utf-8" ?> <double xmlns="http://Walkthrough/XmlWebServices/">100</double>

Para interromper executando o servio XML da Web e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging. 7. No menu Debug, clique em Delete All Breakpoints. Para obter mais informaes, consulte Passo-a-passo: Depurao de um servio XML da Web. Implantando o XML Web Service Para implantar esse servio XML da Web, voc deve criar um projeto de implantao. Para implantar o XML Web Services usando um projeto Web Setup 1. 2. No menu File, aponte para New e clique em Project. No painel Project types, expanda o Other Project Types n e selecione Setup and Deployment. No painel Templates, clique em Web Setup Project. Na caixa Name, digite TempConvert3WebSetup. Na lista suspensa Solution Selecionar Add to Solution, e clique em OK Observao Por padro, o instalador usa o nome do projeto de implantao ao criar o diretrio virtual em seu servidor de implantao. 5. No painel esquerdo da guia File System (TempConvert3WebSetup), selecione Web Application Folder. Para obter mais informaes, consulte Editor do sistema de arquivos. No Solution Explorer, clique com o boto direito do mouse TempConvert3WebSetup, aponte para Add, e clique em Project Output. Na caixa Add Project Output Group de dilogo, selecione Content Files. Para obter mais informaes, consulte Como adicionar e remover resultados Project no editor do sistema de arquivos:. O grupo arquivos contedo consiste os seguintes arquivos para o servio da Web XML: TempConvert3.asmx, Global.asax, e Web.config. Para

3. 4.

6. 7.

Visual Studio

205

obter mais informaes, consulte Implantando servios da Web XML em cdigo gerenciado. 8. 9. Clique em OK. No painel esquerdo da guia File System (TempConvert3WebSetup), expanda Web Application Folder e localize a pasta rotulada bin.

10. Clique com o boto direito do mouse na bin pasta, aponte para Add, e clique em Project Output 11. Na caixa Add Project Output Group de dilogo, selecione Primary output e Debug Symbols. Para obter mais informaes, consulte Como adicionar e remover resultados Project no editor do sistema de arquivos:.
o o

O grupo primrio de sada consiste do projeto DLL, TempConvert3.dll, e suas dependncias. O grupo smbolos de depurao consiste do arquivo PDB projeto, TempConvert3.pdb.

12. Clique em OK. 13. No Solution Explorer, clique com o projeto de implantao, e seguida, no menu de atalho, clique em Build. Isso cria um arquivo do Windows Installer no diretrio do projeto local. Executar este arquivo em um servidor Web para instalar este servio da Web XML. Para obter mais informaes, consulte Implantando aplicativos e componentes. Finalmente, para criar um aplicativo cliente que acesse esse XML Web Services, consulte um destes procedimentos:

Passo-a-Passo: acessando um XML Web Services utilizando Visual Basic ou Visual C# Passo-a-passo: Acessando um XML Web Service usando C++ Passo-a-passo: Acessando um XML Web Service usando C++ e o CLR

Visual Studio

206

Walkthrough: Criando um servio da Web XML usando ATL Server


Explicao passo a passo o seguir descreve o processo para criar um servio XML da Web que converte temperaturas medidas em Fahrenheit para Celsius usando C++ e ATL Server. ATL Server torna possvel para os desenvolvedores a usar o Active Template Library para facilmente implementar servios XML da Web como uma extenso ISAPI. Para obter mais informaes, consulte Fornecer servios XML da Web. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um servio XML da Web usando o modelo do projeto Servio da Web Server ATL. Implementar o XML Web Services. Implantar o XML Web Services.

Para concluir o explicao passo a passo, voc precisar ter acesso a uma mquina que atende aos requisitos para criar um projeto da Web. Para obter mais informaes, consulte Requisitos de hardware do Visual Studio. Desde que os Servios XML da Web usando ATL Server no responda a solicitaes HTTP-GET ou POST HTTP-, voc precisar criar um cliente que acesse este servio da Web XML para explorar sua funcionalidade. Para obter mais informaes, consulte Criando Servios da Web XML. Criar projeto servio XML da Web O Visual Studio fornece um modelo de projeto Servio da Web Server ATL para ajud-lo criar servios da Web XML usando ATL Server. Para obter mais informaes, consulte Criar um Projeto ATL Server. Para criar um projeto do servio da Web ATL Server 1. 2. 3. 4. 5. No menu File, aponte para New, e clique Project para abrir a New Project caixa de dilogo. Selecione a Visual C++ Projects pasta, e, em seguida, clique no ATL Server Web Service cone. Na caixa Name, digite TempConvert4. Clique OK Para iniciar o ATL Server Project Wizard. No ATL Server Project Wizard, clique Finish para aceitar os padres do projeto. Para obter mais informaes, consulte Criar um Projeto ATL Server. Observao Voc tem a opo de criar uma DLL combinado, que combina a funcionalidade ISAPI com o cdigo do aplicativo. Esta opo est localizada na pgina Project Settings do assistente. No entanto, para essa explicao passo a passo, voc ir criar DLLs separados. 6. O assistente cria uma soluo, que contm dois projetos separados: um projeto do manipulador e um projeto de extenso ISAPI.

Visual Studio

207

Dica O Assistente para Servidor ATL fornece um ReadMe.txt arquivo que descreve os projetos e arquivos gerados no Solution Explorer.
o

Voc ir escrever o cdigo que fornece a funcionalidade para o servio da Web XML no projeto do manipulador, que se torna o manipulador personalizado DLL posteriormente. Voc pode personalizar o cdigo usado para criar a extenso DLL ISAPI no projeto de extenso ISAPI. Neste projeto, voc encontrar um arquivo ReadMe.txt mais que explica a finalidade de cada arquivo gerado. Para essa explicao passo a passo, voc no necessitar personalizar a DLL ISAPI.

Voc criar um projeto de implantao como a etapa final dessa explicao passo a passo. Para obter mais informaes, consulte Criando Servios da Web XML. Implementar o servio da Web XML Voc fornecer a funcionalidade do seu servio da Web XML com o cdigo voc escrever para a classe do manipulador. Quando o servidor recebe uma solicitao para o servio da Web XML, a extenso ISAPI chama este cdigo. Para adicionar um mtodo de XML Web Service 1. No Solution Explorer, localize a Header Files Pasta do projeto TempConvert4, e seguida, clique duas vezes TempConvert4.h para abrir o arquivo para edio. ITempConvert4Service a definio de interface para o servio da Web XML. Ele oferece suporte um mtodo, que voc ir declarar como ConvertTemperature. Localizar e substituir a definio de ITempConvert4Service interface de exemplo com o seguinte:
__interface ITempConvert4Service { [id(1)] HRESULT ConvertTemperature( [in] double dFahrenheit, [out, retval] double* pdCelsius); };

2.

3.

A CTempConvert4Service classe fornece a implementao de servio da Web XML. Voc ir adicionar um mtodo pblico para esta classe e expor esse mtodo como parte do servio da Web XML. No mesmo arquivo, TempConvert4.h, localize e substituir a definio de classe de CTempConvert4Service exemplo com o seguinte:
class CTempConvert4Service : public ITempConvert4Service { public: [ soap_method ] HRESULT ConvertTemperature( /*[in]*/ double dFahrenheit, /*[out, retval]*/ double* pdCelsius) { if (!pdCelsius) return E_INVALIDARG; *pdCelsius = ((dFahrenheit - 32) * 5) / 9; return S_OK; } }; // class CTempConvert4Service

Observao Os atributos ATL Server que esto localizados entre as definies de interface e classe, request_handler e soap_handler, ajudar a simplificar a tarefa de fornecer a infra-estrutura de servio da Web XML. Alm disso, o soap_method atributo identifica qual mtodo para expor como um servio XML da Web. Para obter mais informaes, consulte Atributos ATL Server. 4. Salve a soluo.

Visual Studio

208

5.

No menu Build, clique em Build Solution.

Implantando o XML Web Service Para tornar seu XML Web Services disponvel para outros, voc deve implant-lo em um servidor Web que seja acessvel para os clientes que voc queira dar suporte. Para implantar o servio da Web XML em um servidor que no seja o servidor de desenvolvimento, voc pode adicionar um projeto de instalao da Web ou voc pode copiar os arquivos necessrios para o servidor de destino manualmente. Para implantar o XML Web Services usando um projeto Web Setup 1. 2. 3. No menu File, aponte para Add Project, e clique em New Project. Selecione a Setup and Deployment Projects pasta, e clique em Web Setup Project. Na caixa Name, digite TempConvert4WebSetup, e depois clique em OK. Observao Por padro, o instalador usa o nome do projeto de implantao ao criar o diretrio virtual em seu servidor de implantao. 4. 5. 6. No painel esquerdo da File System Editor, selecione Web Application Folder. Para obter mais informaes, consulte Editor do sistema de arquivos. No Solution Explorer, clique com o boto direito do mouse TempConvert4WebSetup, aponte para Add, e clique em Project Output Na caixa Add Project Output Group de dilogo, selecione Content Files, Primary output e Debug Symbols. Para obter mais informaes, consulte Como adicionar e remover resultados Project no editor do sistema de arquivos:. O grupo arquivos contedo consiste os arquivos restantes para o servio XML da Web, tais como TempConvert4.htm e TempConvert4.disco. O grupo primrio de sada consiste do projeto DLL, TempConvert4.dll, e suas dependncias. O grupo smbolos de depurao consiste do arquivo PDB projeto, TempConvert4.pdb. Clique em OK. No Solution Explorer, clique com o boto direito do mouse TempConvert4WebSetup novamente, aponte para Add, e clique em Project Output Na caixa Add Project Output Group de dilogo, alterar o projeto para TempConvert4Isapi, e selecione Primary output e Debug Symbols. Para obter mais informaes, consulte Como adicionar e remover resultados Project no editor do sistema de arquivos:. O grupo primrio de sada consiste do projeto DLL, TempConvert4Isapi.dll, e suas dependncias. O grupo smbolos de depurao consiste do arquivo PDB projeto, TempConvert4Isapi.pdb.

o o o

7. 8.

9.

o o

10. Clique em OK.

Visual Studio

209

11. No painel esquerdo de expandir Web Application Folder, clique com o boto direito do mouse bin e, em seguida, clique em Delete. o File System Editor, 12. No Solution Explorer, clique com o TempConvert4WebSetup projeto, e no menu de atalho, clique em Build Isso cria um arquivo do Windows Installer no diretrio do projeto local. Executar este arquivo em um servidor Web para instalar este servio da Web XML. Para obter mais informaes, consulte Implantando aplicativos e componentes. Finalmente, para criar um aplicativo cliente que acesse esse XML Web Services, consulte um destes procedimentos:

Passo-a-Passo: acessando um XML Web Services utilizando Visual Basic ou Visual C# Passo-a-passo: Acessando um XML Web Service usando C++ Passo-a-passo: Acessando um XML Web Service usando C++ e o CLR

Visual Studio

210

Passo-a-passo: Acessando um XML Web Service usando C++ e o CLR


Explicao passo a passo o seguir descreve o processo para acessar um servio XML da Web de um aplicativo criado usando C++. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um aplicativo do cliente usando o CLR Console Application modelo de projeto. Adicionar uma referncia da Web para um XML Web Services. Escrever cdigo para acessar o XML Web Services. Execute o aplicativo do cliente no modo de depurao. Uma mquina atendendo aos requisitos encontrado no Requisitos de hardware do Visual Studio. Um servio XML da Web criado de uma das orientaes a seguir: Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C# Walkthrough: Criando um servio da Web XML usando ATL Server Passo-a-passo: Criando um XML Web Service usando C++ e o CLR Criando um projeto cliente de XML Web Services

Para concluir a explicao passo a passo, voc deve fornecer o seguinte:


o o o

Para essa explicao passo a passo, voc ir criar um aplicativo de console simples que acessa o servio da Web XML TempConvert3, que era o nome dado para a Web XML servio criado no Passo-a-passo: Criando um XML Web Service usando C++ e o CLR. Observao Para acessar uma implementao diferente do servio da Web XML, a converso de temperatura simplesmente substitua os nomes apropriados onde aparece o nome TempConvert3 em toda essa explicao passo a passo. Para criar um aplicativo de console 1. 2. 3. 4. 5. No menu File, aponte para New, e clique Project para abrir a New Project caixa de dilogo. Expanda o Visual C++ n, e selecione CLR. Clique no CLR Console Application cone. Alterar o nome do projeto para TempConvertClient3. Clique OK para criar o projeto.

Adicionando uma referncia da Web Descoberta de XML Web Services o processo pelo qual um cliente localiza um XML Web Services e obtm sua descrio de servio. O processo de descoberta de XML Web Services no Visual Studio envolve interrogar um site da Web seguindo um

Visual Studio

211

algoritmo predeterminado. A meta do processo localizar a descrio de servio, que um documento XML que usa o WSDL (Web Services Description Language). Para obter mais informaes, consulte Descoberta de XML Web Service. A descrio de servio descreve quais servios esto disponveis e como interagir com os servios. Sem uma descrio de servio, impossvel interagir com um XML Web Services programaticamente. Para obter mais informaes, consulte Descrio do XML Web Service. O aplicativo precisa um meio para se comunicar com o servio da Web XML e para localiz-lo em tempo de execuo. Adicionar uma referncia da Web ao seu projeto para o XML Web Services faz isso por gerar uma classe proxy que interfaceia com o XML Web Services e fornece uma representao local do XML Web Services. Para obter mais informaes, consulte Referncias da Web e COMO: Gerar um Proxy de Servio da Web XML. Adicionar uma referncia da Web 1. 2. Na Solution Explorer, selecione o TempConvert3Client n de projeto. No menu Project, clique em Add Web Reference. Na caixa URL da caixa Add Web Reference de dilogo, digite a URL para obter o descrio do servio do servio XML Web voc deseja acessar, such as http://localhost/TempConvert3WebSetup/TempConvert3.asmx. Clique no Go boto para recuperar informaes sobre o servio da Web XML. OuSe o servio da Web XML existir na mquina local, clique no Web services on the local machine Link no painel do navegador. Clique no link para o servio da Web XML TempConvert3 na lista fornecida para recuperar informaes sobre o servio da Web XML. 3. Na caixa Web reference name, renomear a referncia da Web, a ConvertSvc Qual o espao para nome ser usado para esta referncia da Web. Clique Add Reference para adicionar uma referncia da Web para o destino XML Web Service. Para obter mais informaes, consulte Como: Adicionar e remover referncias da Web. O Visual Studio baixa o descrio do servio e adiciona-o ao seu projeto. Em seguida, ele gera uma classe de proxy e compila uma DLL do descrio do servio. Finalmente, Visual Studio adiciona um novo arquivo WebService.h, de cabealho, ao seu projeto. Este arquivo de cabealho referencia espaos para nome do .NET Framework para usar os Servios XML da Web e a DLL criado necessrio. Se explorar o diretrio do projeto local, voc tambm encontrar o arquivo de fonte Visual C# para a DLL. Acessando o XML Web Services Depois de adicionar uma referncia para o servio da Web XML ao seu projeto, a prxima etapa para criar uma instncia de classe de proxy do servio da Web XML. Voc pode acessar os mtodos do XML Web Service da mesma maneira que voc acessar mtodos qualquer do objeto chamando os mtodos da classe de proxy. Quando o aplicativo chama esses mtodos, o cdigo gerado pelo Visual Studio trata as comunicaes entre o aplicativo e o servio da Web XML. Acessar o XML Web Services 1. No Solution Explorer, localize TempConvertClient3.cpp na pasta Source Files e abra este arquivo para edio.

4.

Visual Studio

212

2.

Substituir o contedo do arquivo com o seguinte:


#include "stdafx.h" #include "WebService.h" using namespace System; int main(void) { while (true) { try { ConvertSvc::TempConvert3Class^ proxy = gcnew ConvertSvc::TempConvert3Class(); Console::Write("Temperature in degrees Fahrenheit: "); System::String^ sInput = Console::ReadLine(); double dFahrenheit = System::Convert::ToDouble(sInput); double dCelsius = proxy->ConvertTemperature(dFahrenheit); Console::Write("Temperature in degrees Celsius: "); Console::WriteLine(dCelsius.ToString()); } catch (System::FormatException^ e) { Console::WriteLine("Invalid value...exiting: {0}", e->Message); break; } } return 0; }

Observao O nome da classe do servio da Web XML gerado quando adicionando uma referncia da Web pode diferir daquele mostrado acima como TempConvert3Class. 3. 4. Salve a soluo. No menu Build, clique em Build Solution.

Depurando o cliente de XML Web Services Quando voc executar o aplicativo, ele acessa o servio da Web XML e exibe o Celsius temperatura equivalente do Fahrenheit digitado. Visual Studio oferece vrios mtodos para criar e executar um aplicativo de dentro o IDE,, como:

Start Debugging Start without Debugging

Como um projeto do Visual Studio, este aplicativo tem separadas configuraes para verses liberao e DEBUG. Criadas essas configuraes porque voc criado este projeto usando o CLR Console Application modelo de projeto, Visual Studio automaticamente e definir as opes padro apropriado e outras configuraes. Para obter mais informaes, consulte HOW TO: definir depurao e configuraes de verso. Nessa explicao passo a passo, ser colocar um ponto de interrupo no aplicativo e use o Start Debugging mtodo. Antes da depurao, verifique as configuraes de depurao. Para obter mais informaes, consulte Preparao da depurao: Projetos de console. Para utilizar um ponto de interrupo e iniciar o aplicativo com depurao 1. No Editor do cdigo, coloque o cursor na linha de cdigo que chama a funo proxy:
double dCelsius = proxy->ConvertTemperature(dFahrenheit);

2.

Pressione F9 para colocar um ponto de interrupo nesta linha de cdigo. ou Clique esquerda dessa linha de cdigo na margem indicador. Para obter mais informaes, consulte COMO: Depurar Cdigo no Editor.

3.

No menu Debug, clique em Start Debugging. Este comando instrui Visual Studio para executar o aplicativo no depurador. O Visual Studio cria o projeto e inicia o aplicativo.

Visual Studio

213

4.

Na janela do console, digite o nmero 212 e pressione ENTER. Quando processamento atingir do ponto de interrupo, processamento pra. O depurador do Visual Studio reala a linha que contm o ponto de interrupo e, enquanto interrompido, voc poder executar uma variedade de tarefas. Para obter mais informaes, consulte Explicao detalhada sobre o depurador e Exibindo Dados no Depurador.

5.

No menu Debug, clique Continue para continuar o processamento. O aplicativo cria uma mensagem de solicitao SOAP, que ele envia para o servio XML da Web. Em retorno, o aplicativo recebe uma mensagem de resposta SOAP. O aplicativo ento analisa a resposta e exibe uma mensagem indicando que 212 Fahrenheit graus o equivalente de 100 Celsius graus. Para parar execuo do aplicativo e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging.

6.

No menu Debug, clique em Delete All Breakpoints.

Visual Studio

214

Passo-a-passo: Acessando um XML Web Service usando C++


Explicao passo a passo o seguir descreve o processo para acessar um servio XML da Web de um aplicativo criado usando C++. Durante o curso desta explicao passo a passo, voc ir realizar as atividades a seguir:

Criar um aplicativo do cliente usando o modelo Project Win32. Adicionar uma referncia da Web para um XML Web Services. Escrever cdigo para acessar o XML Web Services. Execute o aplicativo do cliente no modo de depurao. Uma mquina que atenda aos requisitos encontrado no Requisitos de hardware do Visual Studio. Um servio XML da Web criado de uma das orientaes a seguir: Explicao Passo a Passo: Criando um XML Web Services usando Visual Basic ou Visual C# Walkthrough: Criando um servio da Web XML usando ATL Server Passo-a-passo: Criando um XML Web Service usando C++ e o CLR Criando um projeto cliente de XML Web Services

Para concluir a explicao passo a passo, voc deve fornecer o seguinte:


o o o

Para essa explicao passo a passo, voc ir criar um aplicativo de console simples que acessa o servio da Web XML TempConvert4, que era o nome dado para a Web XML servio criado no Walkthrough: Criando um servio da Web XML usando ATL Server. Observao Para acessar uma implementao diferente do servio da Web XML, a converso de temperatura simplesmente substitua os nomes apropriados onde aparece o nome TempConvert4 em toda essa explicao passo a passo. Para criar um aplicativo do cliente do servio XML da Web 1. 2. 3. 4. 5. No menu File, aponte para New, e clique Project para abrir a New Project caixa de dilogo. Expanda a Visual C++ Projects pasta, e, em seguida, clique no Win32 Project cone. Alterar o nome do projeto para TempConvertClient4. Clique OK Para iniciar o Win32 Application Wizard. Na Win32 Application Wizard, execute o seguinte: 1. 2. 3. Na pgina Application Settings, clique em Console application. Selecione ATL Para adicionar suporte de Biblioteca ATL. Clique em Finish.

Visual Studio

215

Adicionando uma referncia da Web Descoberta de XML Web Services o processo pelo qual um cliente localiza um XML Web Services e obtm sua descrio de servio. O processo de descoberta de XML Web Services no Visual Studio envolve interrogar um site da Web seguindo um algoritmo predeterminado. A meta do processo localizar a descrio de servio, que um documento XML que usa o WSDL (Web Services Description Language). Para obter mais informaes, consulte Descoberta de XML Web Service. O descrio do servio ou contrato, descreve quais servios esto disponveis e como interagir com os servios. Sem uma descrio de servio, impossvel interagir com um XML Web Services programaticamente. Para obter mais informaes, consulte Descrio do XML Web Service. O aplicativo deve ter um meio para se comunicar com o servio da Web XML e para localiz-lo. Adicionar uma referncia da Web ao seu projeto para o XML Web Services faz isso por gerar uma classe proxy que interfaceia com o XML Web Services e fornece uma representao local do XML Web Services. Para obter mais informaes, consulte Referncias da Web. Adicionar uma referncia da Web 1. 2. No menu Project, clique em Add Web Reference. Na caixa URL da caixa Add Web Reference de dilogo, digite a URL para obter o descrio do servio do servio XML Web voc deseja acessar, such as http://localhost/TempConvert4/TempConvert4Service.asmx. Clique no boto Go para recuperar informaes sobre o XML Web Services. OuSe o XML Web Services est na mquina local, clique no link Web services on the local machine no painel do navegador. Clique no link para o servio da Web XML TempConvert4 na lista fornecida para recuperar informaes sobre o servio da Web XML. 3. Na caixa Web reference name, renomeie a referncia da Web para ConvertSvc, que o namespace que voc usar para essa referncia da Web. Clique Add Reference para adicionar uma referncia da Web para o destino XML Web Service. Para obter mais informaes, consulte Como: Adicionar e remover referncias da Web. O Visual Studio gera um novo arquivo de cabealho mas no adiciona-lo para o projeto. No entanto, ele no salvar o arquivo de cabealho gerado para a pasta do projeto. O nome do arquivo de cabealho depende do servio da Web XML voc optar por acessar. Este arquivo de cabealho re-Generated sempre que voc criar o projeto. Para obter o nome correto do arquivo de cabealho, examine o contedo da seo janela sada do log de compilao (BuildLog.htm no diretrio Arquivos intermedirio) ou Output Window o. O nome de arquivo correto aparece em uma linha que lembra o seguinte: /out:ConvertSvc.h. Para exibir no menu View Aponte para Other Windows e clique em Output. o Output Window, Para obter mais informaes, consulte Como: Adicionar e remover referncias da Web. Acessando o XML Web Services

4.

Visual Studio

216

Aps seu projeto tem uma referncia para o servio XML da Web, a prxima etapa para criar uma instncia da classe proxy. Para obter mais informaes, consulte Criar clientes do servio XML da Web. Voc pode acessar os mtodos do XML Web Service da mesma maneira que voc acessar mtodos qualquer do objeto chamando os mtodos da classe de proxy. Quando o aplicativo chama esses mtodos, o cdigo gerado pelo Visual Studio trata as comunicaes entre o aplicativo e o servio da Web XML. Para obter mais informaes, consulte Criar clientes do servio XML da Web. Acessar o XML Web Services 1. 2. No Solution Explorer, localize stdafx.h na pasta Header Files e abra este arquivo para edio. Adicione o seguinte # definir instrues (em negrito) aps o # existente definir instruo WIN32_LEAN_AND_MEAN:
#define WIN32_LEAN_AND_MEAN // Disable client timeout for testing. Default is 10000 milliseconds. #define ATL_SOCK_TIMEOUT INFINITE // Minimum system requirements are Windows 98, Windows NT 4.0, or later #define _WIN32_WINDOWS 0x0410

3.

Add the following #include statements after the existing #include for <atlbase.h>:
#include "ConvertSvc.h" #include <conio.h> #include <iostream>

Observao O nome do arquivo de cabealho gerado quando adicionando uma referncia da Web pode diferir daquele mostrado acima como ConvertSvc.h. Para obter o nome correto do arquivo de cabealho, examine o contedo da seo janela sada do log de compilao (BuildLog.htm no diretrio Arquivos intermedirio) ou Output Window o. O nome de arquivo correto aparece em uma linha que lembra o seguinte: /out:ConvertSvc.h. Para exibir no menu View Aponte para Other Windows e clique em Output. o Output Window, 4. 5. No Solution Explorer, localize TempConvertClient4.cpp na pasta Source Files e abrir este arquivo para edio. Primeiro, voc criar uma instncia da classe de proxy do servio da Web XML. Em seguida, voc ir levar um valor, que o console fornece, e fazer uma chamada ao mtodo do servio ConvertTemperature da Web XML chamando o mtodo na classe proxy. Voc ir exibir o valor retornado pelo servio da Web XML no console. Insira o cdigo a seguir: Observao O cdigo a seguir usa uma classe denominada TempConvert4Service::CTempConvert4Service. Aponte para o arquivo de cabealho gerado na sua pasta do projeto para determinar o nome de classe adequado para o servio da Web XML e substitua-onde TempConvert4Service::CTempConvert4Service. aparece o cdigo abaixo
6. #include "stdafx.h" void AccessService(){ using namespace std; double dFahrenheit = 0.0; double dCelsius = 0.0; TempConvert4Service::CTempConvert4Service ws; while (1){ cout << "Enter a temperature in degrees Fahrenheit: "; cin >> dFahrenheit; if (!cin.good()){ cout << "Not a temperature" << endl; break; } HRESULT hr = ws.ConvertTemperature(dFahrenheit, &dCelsius); if (SUCCEEDED(hr)) cout << dFahrenheit << " F = " << dCelsius << " C\n" << endl; else cout <<

Visual Studio

217

"An error occurred: " << hr << endl; } } int _tmain(int argc, _TCHAR* argv[]){ if (SUCCEEDED(CoInitialize(NULL))){ AccessService(); CoUninitialize(); } return 0; }

7. 8.

Salve a soluo. No menu Build , clique em Build Solution.

Depurando o cliente de XML Web Services Quando voc executar o aplicativo, ele acessa o servio da Web XML e exibe o Celsius temperatura equivalente do Fahrenheit digitado. O Visual Studio oferece vrios mtodos para criar e executar um aplicativo de IDE, como:

Start (with Debugging) Start without Debugging

Como um projeto do Visual Studio, este aplicativo tem separadas configuraes para verses liberao e DEBUG. Criadas essas configuraes porque voc criado este projeto usando o modelo do projeto Project Win32, Visual Studio automaticamente e definir as opes padro apropriado e outras configuraes. Para obter mais informaes, consulte HOW TO: definir depurao e configuraes de verso. Nessa explicao passo a passo, ser colocar um ponto de interrupo no aplicativo e use o Start (with Debugging) mtodo. Para utilizar um ponto de interrupo e iniciar o aplicativo com depurao 1. No menu Debug, clique em New Breakpoint. Na guia Function, digite AccessService na caixa Function e clique OK para colocar um ponto de interrupo na declarao AccessService de mtodo. 2. No menu Debug , clique em Start. Dica F5 o atalho do teclado padro para Start. 3. Este comando instrui Visual Studio para executar o aplicativo no depurador. O Visual Studio compila o projeto e o implanta no servidor de desenvolvimento designado. Aps a concluso, o navegador padro exibe o arquivo.asmx a partir do servidor de implantao. Para interromper a execuo do XML Web Service e retornar para o Code Editor, feche o navegador. ou No menu Debug, clique em Stop Debugging. Dica SHIFT+F5 o atalho do teclado padro para Stop Debugging. 5. Na janela do console, digite o nmero 212 e pressione ENTER.

4.

Visual Studio

218

Quando processamento atinge a AccessService funo, processamento pra. O depurador do Visual Studio reala a linha que contm o ponto de interrupo e, enquanto interrompido, voc poder executar uma variedade de tarefas. Para obter mais informaes, consulte Explicao detalhada sobre o depurador e Exibindo Dados no Depurador. 6. No menu Debug, clique Continue para continuar o processamento. Dica F5 o atalho do teclado padro para Continue. 7. O aplicativo cria uma mensagem de solicitao SOAP, que ele envia para o servio XML da Web. Em retorno, o aplicativo recebe uma mensagem de resposta SOAP. O aplicativo ento analisa a resposta e exibe uma mensagem indicando que 212 Fahrenheit graus o equivalente de 100 Celsius graus. Para parar execuo do aplicativo e retornar ao editor de cdigo, no menu Debug, clique em Stop Debugging. No menu Debug, clique em Clear All Breakpoints. Dica + CtrlShift + F9 o atalho do teclado padro para Clear All Breakpoints.

8. 9.

Visual Studio

219

Passo-a-passo: Criando um aplicativo distribudo


Nessa explicao passo a passo, voc criar um aplicativo de vrias camadas, distribudos, intranet. O aplicativo consiste em trs camadas lgicas: Dados, objeto comercial, e interface de usurio. A camada de dados um banco de dados no SQL Server. A camada de negcio-Objeto tratar acessar os dados e distribui-lo para os clientes. A camada da interface do usurio consistir em tanto um aplicativo baseado na Web e um aplicativo Windows tradicional. Voc criar o aplicativo um aplicativo de dados simples com pesquisa e editar. Voc criar um cliente Windows para exibir a tabela Clientes do banco de dados de exemplo Northwind SQL Server. Voc criar um servio XML da Web para recuperar dados que contm informaes clientes a partir do banco de dados. Voc ento criar um aplicativo do Windows que iro se comunicar com este servio XML da Web para recuperar um DataSet que contm as informaes do autor. Voc criar o servio da Web XML e o cliente aplicativos no mesmo servidor, embora o banco de dados pode residir em outro servidor. Tanto o servidor de aplicativos e o servidor de banco de dados precisar que residam na mesma intranet. Essa organizao de projetos, voc pode usar a autenticao do Windows para obter acesso ao banco de dados e testar seu aplicativo. No mesmo, essa organizao remove muitos dos detalhes de acessar recursos para que voc pode ver a interao do servio XML da Web e os aplicativos cliente. Essa organizao pode no ser exatamente a arquitetura voc deseja para aplicativos voc Criar por conta prpria. Pr-requisitos A fim de concluir este explicao passo a passo, ser necessrio:

Acesso a um servidor com o exemplo de SQL Server do Northwind, configurado para autenticao Integrated Windows. O banco de dados Northwind um banco de dados de exemplo que voc pode instalar com SQL Server. Uma compreenso bsica de como dados so manipulados no Visual Studio .NET. Para obter mais informaes, consulte Viso geral do ADO.NET. Processo para criar um aplicativo distribudos

Um cenrio possvel para desenvolver um aplicativo distribudo consiste em criar uma camada ao mesmo tempo, talvez comeando com a camada de dados, e mover para o objeto regra negcio-camada intermediria, e finalmente criar a interface do usurio. Para essa explicao passo a passo, os dados j foi gerado e est disponvel no banco de dados Northwind no SQL Server. Portanto, o explicao passo a passo iniciar com criando o objeto comercial o servio da Web XML seguido por criando as interfaces dois usurio uma pgina de formulrios da Web e um formulrio do Windows. O processo para essa explicao passo a passo a seguinte: 1. Criar o objeto comercial da camada intermediria 1. 2. 3. 2. Criar um Projeto Servio da Web ASP.NET Criar e configurar uma conexo de banco de dados e um esquema DataSet Expor DataSet do seu objeto comercial

Criar a interface de usurio

Visual Studio

220

1. 3.

Criar uma interface do usurio do Windows

Implantar a soluo ou adicionar mais recursos

Criar o objeto Business Tier intermediriaO objeto comercial voc criar ser executado em um servidor Web para fornecer o desempenho e escalabilidade necessria para um aplicativo distribudo. Voc alm disso, ser implementar o objeto comercial como um servio XML da Web para que os clientes podem usar protocolos padro da Internet para se comunicar com o objeto comercial de qualquer plataforma. Para obter detalhes, consulte Programao na Web com XML Web Services. O componente servio XML da Web nessa explicao passo a passo, ser mantenha as conexes de dados e definio DataSet. Mtodos Servio da Web XML depois sero adicionados para expor o DataSet, que tornar possvel para outros aplicativos para exibir e modificar DataSet. O servio da Web XML ser expor dois mtodos. O primeiro, GetCustomers,. retornar um DataSet a partir do banco de dados O segundo, UpdateCustomers,. ir atualizar o banco de dados com alteraes do usurio Para criar um projeto Servio da Web ASP.NET 1. 2. 3. No menu File, aponte para New ento Web Site para exibir a New Web Site caixa de dilogo. Selecione ASP.NET Web Service no painel Visual Studio Installed Templates. Na caixa Location, digite o nome do servidor Web (no seu computador de desenvolvimento) com o nome do projeto, http://ServerName/CustomersWebService,. e, em seguida clique em OK Dica Como o servidor Web estiver em seu computador, poder usar o nome do servidor LOCALHOST. 4. O CustomersWebService projeto adicionado soluo. Observe que o servio da Web for inicializado no idioma padro que voc escolheu para Visual Studio. No Solution Explorer, clique Service.asmx para selecion-la. Na janela Propriedades, defina a File Name propriedade de Service para CustomersService. Nesse componente ser criar uma conexo com o armazenamento de dados e obter uma instncia dos dados usando um DataSet. Criar e configurar uma conexo de banco de dados e um esquema DataSet Do TableAdapter Configuration Wizard ir adicionar um DataSet ao seu aplicativo e depois usar para gerar um tipo TableAdapter especfico tabela Clientes do banco de dados. Para criar um adaptador conexo e dados de banco de dados 1. 2. No menu Website, escolha Add New Item. A Add New Item caixa de dilogo ser aberta. Selecione Dataset e clique em Add

5. 6.

Visual Studio

221

DataSet adicionado ao seu projeto, e a TableAdapter Configuration Wizard. for iniciado 3. No TableAdapter Configuration Wizard, clique New Connection para criar sua conexo. A Add Connection caixa de dilogo Abrir, e Microsoft SQL Server PreSelected como o tipo de banco de dados 4. Na caixa Add Connection de dilogo, digite o nome do SQL Server onde o banco de dados Northwind est instalado. Se voc tiver SQL Server no computador local, digite (local). Selecione Use Windows Authentication para as informaes de logon. Observao Se voc no faa ter integrada segurana definida backup em seu sistema, consulte o administrador de rede. 6. 7. Selecione o Northwind banco de dados a partir da lista. Clique Test Connection para validar as informaes fornecidas, e, em seguida, clique OK para estabelecer a conexo. Uma nova conexo de banco de dados criado e adicionado caixa suspensa no TableAdapter Configuration Wizard. Observao Se a conexo de banco de dados falhar, consulte o administrador do banco de dados. 8. 9. Verifique se seu banco de dados est selecionado na caixa suspensa e clique em Next. Clique Next novamente para salvar a seqncia de conexo para o arquivo de configurao.

5.

10. No painel Choose a Command Type, verifique se que Use SQL Statements est selecionado e clique em Next. 11. No painel, tipo SELECT * FROM Customers e Enter a SQL Statement Clique em Next. 12. Na, clique Choose Methods to Generate Finish painel. Voc criou uma conexo com o banco de dados, um dataset digitado, e gerado o adaptador de tabela que interage com o banco de dados. 13. No menu File, escolha Save All Voc precisar definir as configuraes de segurana do seu projeto para trabalhar com segurana integrada. feito isso desativando o acesso annimo e ativar a representao. Para configurar a autenticao integrada do Windows para o projeto, voc deve alterar os arquivos de projeto e configurar o projeto usando a Internet Information Services ferramenta.

Visual Studio

222

Para configurar a autenticao integrada do Windows 1. Inicie a Internet Information Services ferramenta. Administrative Tools do Control Panel ele pode ser executado a partir de. (Para obter mais informaes sobre como iniciar essa ferramenta, consulte o Windows ajuda documentao). Expanda o n para o servidor. Expanda o Default Web Site n. Clique com o boto direito do mouse no n de CustomersWebService e escolha Properties No menu de atalho. Clique na Directory Security guia. Clique no Edit boto na seo Anonymous access and authentication control. Desmarque a Anonymous Access caixa de seleo. Marque a Integrated Windows authentication caixa de seleo. Agora voc configurou seu diretrio de servio da Web XML. Retornar para o projeto no Visual Studio, clique duas vezes o arquivo web.config no Solution Explorer.

2. 3. 4. 5. 6. 7. 8. 9.

10. Adicionar a seguinte marca na linha aps a <system.web> marca para configurar a segurana integrada para o servio da Web XML.
<identity impersonate="true"/>

Expor o customersDataTable de seu objeto Business A prxima etapa nessa explicao passo a passo para expor o objeto DataSet voc apenas criado a partir seu objeto comercial. Essa ao tornar DataSet disponveis para aplicativos Windows ou da Web para usar. Adicionar mtodos para o servio da Web XML 1. 2. 3. Partir do Build menu, escolha Build Solution para a criao da soluo. Na Solution Explorer, clique duas vezes Service.vb para abrir o Editor de Cdigo. Adicionar uma linha para o corpo de classe para criar uma nova instncia do adaptador de tabela como mostrado abaixo: Visual Basic
Dim myAdapter As New DataSetTableAdapters.CustomersTableAdapter DataSetTableAdapters.CustomersTableAdapter myAdapter = new DataSetTableAdapters.CustomersTableAdapter();

4.

Adicionar um mtodo denominado GetCustomers para entregar uma DataTable para o cliente. Esse mtodo, mostrado a seguir retorna uma DataTable preenchido com os dados do cliente. Visual Basic
<WebMethod()> Public Function GetCustomers() As _ DataSet.CustomersDataTable Return myAdapter.GetData End Function

C#

Visual Studio

223

[WebMethod] public DataSet.CustomersDataTable GetCustomers() { Return myAdapter.GetData(); }

5.

Adicionar um mtodo denominado UpdateCustomers para propagar alteraes a partir do cliente de volta para o banco de dados. Esse mtodo, mostrado abaixo, apresenta um DataSet.CustomersDataTable parmetro que contm os dados alterados e atualiza o banco de dados atravs do CustomersTableAdapter.Update mtodo. O Update mtodo aceita as alteraes no DataSet. DataSet retornada para o cliente. O cliente ento usar este DataSet retornado para atualizar sua prpria instncia da Customers DataTable. Para obter informaes sobre o Update mtodo e aceitando alteraes em um DataSet, consulte Introduo aos adaptadores de dados. C#
[WebMethod] public void UpdateCustomers(DataSet.CustomersDataTable customerChanges) { myAdapter.Update(customerChanges); }

Observao Em um aplicativo de produo, voc deve adicionar a verificao de erros e exceo tratamento para esses mtodos. 6. 7. Partir do File menu, escolha Save All. Partir do Build menu, escolha Build Solution.

Nas sees anteriores, voc ter criado um objeto comercial da camada intermediria que contm um DataSet acoplado a um banco dados do SQL Server. Voc adicionou cdigo ao meio-nvel CustomersWebService da Web XML servio para obter dados de uma fonte de dados e atualizar a fonte de dados com alteraes. Do GetCustomers o cliente acessar essas funes atravs de e UpdateCustomers mtodos Servio da Web XML. Crie a interface de usurio Depois de criar um objeto comercial da camada intermediria para acesso a dados e expondo-lo como um servio XML da Web, a prxima etapa para criar o cliente interfaces. H dois cenrios nessa explicao passo a passo: um Windows Form tradicionais e uma pgina de formulrios da Web. Ambos so criados, neste exemplo como separados projetos na mesma soluo. No necessrio para que voc possa criar as duas interfaces. Interface do Usurio do Windows Uma interface do Windows usa recursos do computador cliente para manipular parte do processamento do aplicativo. Geralmente, uma interface do Windows fornece maior funcionalidade e uma experincia mais rica que uma interface baseada na Web. No menor de uma carga no servidor que com um front-end da Web, porque o servidor no no precisa para executar todos os a lgica do aplicativo. Alm disso, uma interface do Windows pode aproveitar dos recursos disponveis atravs do sistema operacional, incluindo chamadas para o sistema de arquivos e o registro. O aplicativo do Windows, que consiste em um formulrio do Windows, ir conter uma referncia da Web para CustomersWebService. Os dados no banco de dados sero exibidos em um DataGridView controle quando um Load boto no

Visual Studio

224

formulrio clicado. Esse comportamento de carregamento implementado por chamar mtodo do servio GetCustomers da Web XML. O DataGridView controle permite direta edio, com alteraes de dados passadas diretamente para o conjunto de dados subjacente. O formulrio tambm ter um boto Salvar. O cdigo para este boto ser chamar mtodo do servio UpdateAuthors da Web XML para salvar as alteraes de volta para o banco de dados. Para criar o aplicativo Windows 1. 2. 3. No menu File, aponte para Add e escolher New Project, para abrir a Add New Project caixa de dilogo. Selecione Windows Application no painel Visual Studio Installed Templates. Nome do Projeto CustomersWinClient e selecione um local para o projeto, seguida, clique em OK. O CustomersWinClient projeto adicionado soluo. Form1 automaticamente adicionado ao projeto e aparece o Windows Forms Designer. 4. Adicionar uma referncia da Web para o projeto Servio da Web ASP.NET criado anteriormente: 1. 2. 3. No Solution Explorer, clique com o CustomersWinClient projeto, e clique Add Web Reference no menu de atalho Clique em Web Services In This Solution e clique em CustomersService. Clique em Add Reference. Agora voc pode criar uma instncia do DataSet DataSet em seu aplicativo. Para adicionar os controles ao formulrio 1. 2. Arraste um DataGridView controle da guia Data da caixa de ferramentas para o formulrio. Do Toolbox arraste um Button controle da guia Common Controls Da para o formulrio. Defina propriedades do boto Name para LoadData e sua Text propriedade para Load. Do Toolbox Arraste outro Button controle da guia Common Controls Da para o formulrio. Defina propriedades do boto Name para SaveData e sua Text propriedade para Save. Clique duas vezes no formulrio para abrir o Code Editor. Sob a declarao de classe, criamos uma instncia do localhost.DataSet Como mostrada abaixo: Visual Basic
Dim CustomerData As New localhost.DataSet.CustomersDataTable localhost.DataSet.CustomersDataTable CustomerData = new localhost.DataSet.CustomersDataTable();

3.

4. 5.

Para adicionar cdigo para o LoadData e SaveData botes 1. No menu View, clique em Designer. Clique duas vezes no LoadData boto para criar um manipulador de eventos vazio para o Click evento. Mtodos Servio da Web XML so chamados, criando uma instncia da classe do

Visual Studio

225

servio primeiro e depois chamar os mtodos do servio. Nesse caso, o GetCustomers mtodo for chamado. DataSet retornado ser mesclado com DataSet CustomerData . A Credentials propriedade do servio da Web XML usada para passar sua identidade para o servio da Web XML, que por sua vez passa-no para o servidor de banco de dados. Adicione o cdigo mostrado abaixo para o mtodo. Observao Se o servio XML da Web no est sendo executado no computador local, voc precisar substituir localhost no exemplo de cdigo com o nome do servidor que executa o servio da Web XML. C#
private void LoadData_Click(object sender, System.EventArgs e) { localhost.Service ws = new localhost.Service(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; CustomerData.Merge(ws.GetCustomers()); DataGridView1.DataSource = CustomerData; }

2.

No menu View, clique em Designer. Clique duas vezes no SaveData boto para criar um manipulador de eventos vazio para o Click evento. Observao Em um aplicativo de produo, seria deseja considerar questes de simultaneidade de dados na etapa. Para obter mais informaes, consulte Introduo ao Concurrency de dados no ADO.NET.

3. C#

Adicione o seguinte cdigo para os mtodos:

private void SaveData_Click(object sender, System.EventArgs e) { if (CustomerData.HasChanges()) { localhost.Service ws = new localhost.CustomersService(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; ws.UpdateCustomers(CustomerData); } }

Para executar o aplicativo 1. 2. 3. 4. Partir do File menu, escolha Save All. Selecione CustomersWinClient no Solution Explorer, clique com o boto direito do mouse e escolha Set as StartUp Project. Pressione CTRL + F5 para executar o aplicativo. Uma janela exibida que contm um DataGridView vazia. Clique Load para preencher a tabela, faa algumas alteraes, e seguida, clique Save para salvar as alteraes feitas.

Na seo anterior, voc adicionou um projeto do Windows Forms para a soluo para atuar como uma interface do Windows. Voc conectado o formulrio Windows ao servio da Web XML voc criado a primeira seo e usado DataGridView e Button controles para criar a interface do usurio para carregar e atualizando os dados. Prximas etapas

Visual Studio

226

Neste ponto voc pode implantar seu aplicativo ou, se que voc deseja dar a funcionalidade adicional de programa. Algumas das sugestes so fornecidos abaixo.

Implantar a soluo Voc pode implantar seu aplicativo da Web em um servidor ou criar um projeto de instalao para o aplicativo Windows. Para obter informaes sobre como implantar seu aplicativo Windows consulte Passo a passo: Distribuindo um aplicativo baseado no Windows.

Acesso da Web Internet de suporte Essa explicao passo a passo trata autenticao para aplicativos da intranet. O aplicativo pode ser acessado pelos usurios atravs da Internet, portanto voc pode precisa uma soluo de autenticao diferente. Para obter mais informaes, consulte Usando a autenticao do IIS com representao ASP.NET. Voc tambm pode investigar criando uma interface da Web para seu aplicativo em combinao com protocolos de acesso da Web.

Considere segurana Essa explicao passo a passo usa autenticao integrada do Windows para controlar o acesso ao banco de dados. A segurana de banco de dados apenas uma preocupao para aplicativos da Web. Para obter uma discusso de segurana de aplicativo da Web, consulte Prticas recomendadas de segurana bsicas para aplicativos da Web (Visual Studio).

Visual Studio

227

Controle de Cdigo Fonte para o Visual Studio


Sem sair do ambiente de desenvolvimento, voc pode gerenciar seus projetos individuais e de equipe facilmente usando os recursos do controle de cdigo fonte do Microsoft Visual Studio. O controle de cdigo fonte do Visual Studio permite que voc:

Gerencie o acesso ao banco de dados. O controle de cdigo fonte do Visual Studio fornece suporte ao acesso de arquivos compartilhados e individuais. Tambm prov mecanismos para mesclagem de arquivos. Recuperar verses sucessivas de itens sob controle de verso. A maioria dos pacotes do controle de cdigo fonte do Visual Studio armazenam dados que distinguem as diferentes verses de um item sob controle de verso. Manter o histrico detalhado dos itens sob controle de verso. Muitos pacotes fornecem mecanismos para armazenar e recuperar o histrico de um item, por exemplo, data e hora de criao. Trabalhar de modo colaborativo em projetos e solues. Com o compartilhamento de arquivos, possvel que diferentes projetos e solues compartilhem o mesmo item sob controle de verso. Alteraes feitas em um item compartilhado so refletidas em todos os projetos e solues. Automatizar as operaes de controle de cdigo fonte mais comuns. Por exemplo, um pacote do controle de de cdigo fonte do Visual Studio pode definir uma interface de linha de comando que oferea suporte a recursos importantes do controle de cdigo fonte. Voc pode usar essa interface em arquivos em lotes para automatizar as tarefas de controle de cdigo fonte executadas regularmente. Recuperar excluses acidentais. O controle de cdigo fonte do Visual Studio fornece suporte a restaurao da ltima verso do arquivo em que foi realizado o check-in. Economizar espao em disco no pacote do controle de cdigo fonte e no servidor associado.

Introduo ao controle de origem


O Visual Studio oferece suporte ao controle de origem usando a camada Visual Studio Integration Protocol (VSIP) no seu Integrated Development Environment (IDE). VSIP pode hospedar uma variedade de pacotes de controle de origem, geralmente implementados como plug-ins escritos para os protocolos apropriados. Um exemplo de um plug-in de controle de origem o plug-in SourceSafe LAN suportado pelo Visual SourceSafe. Para obter detalhes do plug-in, consulte a ajuda do Visual SourceSafe. Observao O Visual Studio trata pacotes de controle de origem como plug-ins, embora eles possam ser implementados como outros tipos de mdulos de software.

Visual Studio

228

O controle de origem do Visual Studio simplesmente um ambiente para plug-ins de controle de origem de terceiros. Por isso, sua funcionalidade s ativada pela instalao de um plug-in. Para usar um plug-in de controle da origem de terceiros, voc deve, geralmente, instalar o aplicativo de terceiros e/ou o(s) plug-in(s) de controle de origem nos computadores cliente e servidor para seu site. Depois de instalar como indicado pelas instrues de terceiros, sua funcionalidade estar disponvel atravs do Visual Studio. As operaes que esto ativas so variveis, dependendo do plug-in de controle de origem. Voc deve consultar a documentao de terceiros para detalhes operacionais de pacotes especficos. Consulte "Viso Geral (controle de origem)" na ajuda do Visual Studio para obter detalhes de design de controle de origem no Visual Studio. Esta seo da Ajuda tambm fornece todas as informaes que sero necessrias para desenvolver um pacote de controle de origem de terceiros que seja compatvel com Visual Studio. Noes bsicas de controle de origem suportados pelo Visual Studio O suporte de controle de origem bsico no Visual Studio inclui a configurao de plug-in de controle de origem e opes de ambiente, comutao de plug-in, acesso ao banco de dados, versionamento e manipulao de projetos do Visual Studio, solues e arquivos e metadados associados. O controle de origem no Visual Studio tambm aplica protocolos do controle de acessos ao banco de dados, por exemplo, o estilo de trabalho Lock-Modify-Unlock, no qual um usurio que quer modificar um arquivo deve verific-lo exclusivamente. importante lembrar que voc deve usar controle de origem em mecanismos do Visual Studio para interagir com um plug-in de controle de origem. No use outras aplicaes de cliente apresentadas por terceiros que forneam o plug-in, por exemplo, Visual SourceSafe Explorer. O uso apropriado dos mecanismos de controle de origem no Visual Studio garante que somente arquivos corretos sejam adicionados ao controle de origem e que os arquivos de projeto e soluo do Visual Studio sejam atualizados com os detalhes corretos do plug-in especfico. Configurao de Plug-in de Controle de Origem e Comutao O controle de origem do Visual Studio suporta configurao e comutao de plug-in atravs da entrada Source Control na caixa de dilogo Options. Esta entrada acessvel selecionando-se Options no menu Tools do Visual Studio. Voc usar a caixa de dilogo Options para selecionar o plug-in que voc deseja utilizar para controle de origem, e configurar as opes de ambiente para o plug-in. Antes que voc e sua equipe possam aproveitar as vantagens dos recursos de controle de origem no Visual Studio IDE, voc deve:

Determinar se qualquer plug-in de controle de origem est disponvel. Se o plug-in de controle de origem que voc deseja usar no estiver instalado em seu computador, instale o produto de terceiros que oferea suporte ao plug-in e reinicie o Visual Studio para registr-lo. Criar um banco de dados de controle de origem de acordo com a funcionalidade do determinado plug-in. Envie um link, com o local do banco de dados, para todos os membros da equipe.

Acesso ao Banco de dados Comandos bsicos de acesso ao banco de dados, por exemplo, Check Out e Add to Source Control, esto disponveis no menu File do Visual Studio. No entanto, esses comandos so ativados somente depois que voc tiver escolhido o plug-in de

Visual Studio

229

controle de origem que deseja usar. Quando voc usa um dos comandos bsicos de acesso ao banco de dados, o plug-in que voc tiver escolhido chama a correspondente funcionalidade de terceiros e/ou o ambiente para concluir a operao associada. Algumas operaes de acesso so ativadas somente com o plug-in selecionado, enquanto outras operaes esto somente disponveis quando voc tambm tiver selecionado um projeto do Visual Studio, soluo, ou arquivo no Solution Explorer do Visual Studio. Por exemplo, voc pode usar um comando Add to Source Control depois de ter escolhido um plug-in. Entretanto, para usar um comando Check In, voc deve ter um item selecionado no Solution Explorer. Manipulao de arquivo pelo controle de origem Voc pode adicionar os seguintes arquivos ao controle de origem do Visual Studio:

Arquivos de soluo (*.SLN). Arquivo de projeto, por exemplo, arquivos *.csproj, *.vbproj. Arquivos de configurao de aplicativos com base em XML, usados para controlar comportamento em tempo de execuo de um projeto do Visual Studio. Arquivos que voc no pode adicionar ao controle de origem incluem o seguinte:

Arquivos de opo de soluo de usurio (*.suo). Arquivos de opo de projeto de usurios, por exemplo, arquivos *.. csproj.user, *. vbproj.user Arquivos de informao da Web, por exemplo, *.csproj.webinfo, *. vbproj.webinfo, que controlam o local da raiz virtual de um projeto da Web Criar arquivos de sada, por exemplo, arquivos *.dll e *.exe.

A propagao da alterao do espao para nome O controle de origem do Visual Studio oferece suporte propagao de alterao do espao para nome em plug-ins controle de origem. Propagao de alterao aplica-se a operaes de excluso, renomeao e mudana de local. Quando voc solicitar uma operao para qual a propagao de alterao estiver ativada, o plugin de controle de origem ir alterar a cpia de trabalho do item controlado por fonte, a cpia principal no banco de dados, e as cpias de outros usurios, quando voc fizer o check-in no item e os outros usurios o recuperarem. Como Controle de Origem Trata Solues e Projetos Quando voc adiciona uma soluo ou projeto ao controle de origem, a primeira coisa que um plug-in de controle de origem deve fazer identificar uma raiz nica para o item que est sendo adicionado. Esta raiz um caminho ao diretrio pai de todas as pastas de trabalho e arquivos que compem a soluo ou projeto. Uma raiz nica geralmente mapeia para um caminho fsico no disco. Contudo, se uma soluo contm arquivos ou projetos que residem em mais de uma unidade de disco, no h nenhuma pasta fsica qual uma raiz nica pode fazer o mapa. Uma soluo pode mapear a unidade de disco, mas a raiz nica de um controle de origem, no. Para apoiar esta situao, o controle de origem do Visual Studio apia o conceito de uma raiz super-unificada. Este tipo da raiz um continer virtual e

Visual Studio

230

todos os projetos e os arquivos em uma soluo controlada por fonte esto localizados abaixo dele. Quando voc adiciona uma soluo usando um plug-in de controle de origem com recursos avanados, o plug-in cria uma pasta raiz vazia de soluo no banco de dados. Esta pasta conter todos os itens em uma soluo controlada por fonte. Por padro, essa pasta < nomedasolucao >.root. Observao Quando voc adicionar um projeto nico ao controle de origem, a pasta .root no ser criada. O uso de soluo raiz oferece os seguintes benefcios:

Menos prompt. A soluo raiz minimiza o nmero potencial de ligaes de controle de origem para uma soluo e, assim, minimiza o nmero de avisos aos usurios quando voc adiciona uma soluo para controle de origem e executa outras tarefas. Encapsulamento do projeto. A soluo raiz garante que todos os projetos em uma soluo possam ser identificados como pertencentes ao mesmo conjunto, mesmo quando uma ou mais projetos residam em diferentes parties ou computadores.

Voc pode desativar a criao de pasta < nomedasolucao >.root, mas isso no recomendvel. Para mais informaes, consulte COMO: desativar a criao da pasta < nomedasolucao>.root. Solues no Visual Studio so bem-formadas ou no. Uma soluo bem-formada uma soluo para a qual a estrutura hierrquica no disco combina com a sua estrutura no Solution Explorer. Todos os projetos em uma soluo bem-formada so armazenados em subpastas da pasta soluo no disco. Se a soluo bemformada quando voc a adiciona ao controle de origem, o plug-in do controle de origem cria uma pasta abaixo da pasta *.root para conter as cpias principais de arquivo de soluo (*.sln) e arquivos de opo de soluo de usurios (*.suo) para a soluo. Finalmente, o plug-in de controle de origem cria uma pasta sob a pasta .sln para cada projeto adicional no banco de dados do controle de origem. Se uma soluo no bem-formada, o plug-in do controle de origem cria uma pasta para a soluo e para o seu projeto inicial. Em seguida, as pastas para cada projeto adicional so criadas em paralelo com a pasta de soluo. Modos de exibio de uma soluo ou projetos Visual Studio fornece trs modos diferentes de exibio de uma soluo controlada por origem ou projeto: design, controle de origem, e fsico. Muitas tarefas de controle de origem so mais fceis de executar quando no h um mapeamento um-para-um entre os elementos individuais desse modo de visualizao. Contudo, se voc criar as suas solues e projetos e os acrescentar ao controle de origem usando as configuraes padres do Visual Studio, suas solues e projetos no sero, necessariamente, organizados do mesmo modo no disco como eles esto no Solution Explorer e no banco de dados. O modo design de uma soluo ou projeto, que voc v no Solution Explorer, um retrato lgico do contedo de uma soluo ou projeto. Geralmente, o modo design limpo e significativo. Arquivos desnecessrios esto ocultos e arquivos de vrios locais fsicos diferentes so colocados em um continer de projeto nico.

Visual Studio

231

O modo de controle de origem de uma soluo ou projeto, que voc v em um aplicativo autnomo, como Visual SourceSafe Explorer, tambm um modo de exibio lgico de uma soluo ou projeto. Entretanto, o modo de exibio de controle de origem no , necessariamente, um reflexo do modo de exibio lgico. O modo de exibio fsico de uma soluo ou projeto, que voc v no Windows File Explorer, provavelmente no refletir a estrutura hierrquica da lgica ou viso do controle de origem. As diretrizes a seguir podem ajud-lo a obter fidelidade organizacional entre o modos de exibio de design, fsico e controle de origem de suas solues controladas por fonte e projetos:

Primeiro, crie uma soluo em branco e adicione projetos a ela. Isso o ajuda a manter a relao lgica pai-filho entre uma soluo e seus projetos no armazenamento. Em seguida, quando voc adicionar a soluo ao controle de origem, o modo de exibio de controle de origem e design ir espelhar a hierarquia da soluo no disco. Atribua a cada soluo um nome exclusivo e descritivo que se diferencia do nome de cada um dos projetos contidos. Evite adicionar arquivos de link para uma soluo ou projeto controlado por fonte origem. Se possvel, armazene todos os arquivos de uma soluo ou projeto em uma unidade de disco.

Conexes de controle de origem e ligaes O Visual Studio define uma conexo como uma ligao de dados ativa entre o Visual Studio e um servidor de banco de dados. Quando voc adiciona uma soluo ou projeto ao controle de origem, o plug-in de controle de origem copia o item e todo o seu contedo do disco para o banco de dados. Uma pasta controle de origem criada para cada pasta que contm um arquivo soluo ou projeto. Aps adicionar o item, o plug-in de controle de origem vincula sua cpia de trabalho local de uma soluo ou projeto sua verso no banco de dados. Cada soluo controlada por origem tem, pelo menos, uma ligao de controle de origem. No entanto, um item pode ter vrias ligaes e requerer vrias conexes com o banco de dados. O nmero de vnculos e conexes depende de como voc cria a soluo inicialmente e se seus projetos e arquivos esto todos salvos na mesma partio. Como um exemplo de vnculos e conexes, pense em uma soluo bem formada de controle de origem, com vrios projetos, como uma casa com vrias salas. Quando voc constri a casa, voc pode instalar uma linha de dados nica de alta velocidade de uma sala rua. Voc instala um roteador atrs de um firewall para distribuir a alimentao de dados para outras salas e voc paga um provedor de servios de Internet para conectar sua casa com a Internet. Voc pode pensar em vnculo de controle de origem como representao da linha de dados nica criada para a casa. Quando voc abre uma soluo controlada por fonte, uma conexo criada atravs dessa ligao. A conexo estabelece um 'aperto de mo' entre a sua cpia de trabalho da soluo no disco e a cpia mestra da soluo no banco de dados. Se uma soluo controlada por origem no for bem formada, voc pode v-la como uma casa na qual cada sala unida Internet diretamente. Tarifas de Internet so mais caras do que as da casa de conexo nica, os custos de manuteno so

Visual Studio

232

superiores, e mudar para um provedor de servios de Internet diferente muito mais difcil e demorado. Idealmente, uma soluo e seu projeto compartilham uma ligao de controle de origem nica. Solues Single-Binding so mais gerenciveis do que solues Multiple-Binding. Elas tornam mais fcil:

Desconectar do controle de origem para trabalhar off-line. Conectar-se ao banco de dados aps a reconexo com a rede. Ramificar em uma etapa.

Voc pode criar uma soluo de multiprojeto com uma ligao nica, criando uma soluo em branco antes de adicionar seus projetos. Voc tambm pode fazer isso, selecionando a opo Create Directory for Solution na caixa de dilogo New Project, ao criar um par de soluo de multiprojeto. Se voc criar um par de soluo de multiprojeto em uma etapa e no selecionar a opo Create Directory for Solution na caixa de dilogo New Project (desativado por padro), uma segunda ligao ser criada quando voc adicionar um segundo projeto soluo. Uma ligao criada para o projeto inicial e para a soluo. Ligaes adicionais so criadas para cada projeto adicional. Terminologia de controle de origem A documentao do Visual Studio usa um nmero de termos para descrever recursos e conceitos de controle de origem. A tabela a seguir define alguns dos termos comuns. Verso base A verso do servidor de um arquivo do qual uma verso local derivada. Vinculao Informao que correlaciona uma pasta de trabalho de uma soluo ou projeto no disco pasta no banco de dados. Ramificao Processo de criar uma nova verso, ou ramificao, de um arquivo compartilhado ou projeto sob controle de origem. Uma vez que uma ramificao tenha sido criada, as duas verses sob controle de origem tero um histrico compartilhado at um determinado ponto e histricos divergentes aps esse ponto. Conflito Duas ou mais alteraes diferentes para a mesma linha do cdigo em situaes em que dois ou mais desenvolvedores tenham feito o check-out e editado o mesmo arquivo. Conexo Uma ligao de dados ativa entre um cliente do controle de origem (por exemplo, Visual Studio) e um servidor de banco de dados do controle de origem. Banco de dados Local onde todas as cpias mestre, histrico, estruturas de projeto e informaes do usurio so armazenados. Um projeto sempre est contido em um banco de dados. Vrios projetos podem ser armazenados em um banco de dados, e vrios bancos de dados podem ser usados. Outros termos

Visual Studio

233

normalmente usados para um banco de dados so repositrio e armazenamento. Histrico Registro de alteraes de um arquivo desde que ele tenha sido adicionado, inicialmente, no controle de origem. Com o controle de verso, voc pode retornar a qualquer ponto no histrico do arquivo e recuperar o arquivo como ele existia at esse momento. Rtulo Nome definido pelo usurio anexado a uma verso especfica de um item controlado por fonte. Cpia local Arquivo em uma pasta de trabalho do usurio para a qual so copiadas alteraes antes que seja feito um check-in. Uma cpia local , s vezes, chamada de uma cpia de trabalho. Cpia mestra A verso mais recente do check-in de um arquivo controlado por fonte, em oposio cpia local de um arquivo em sua pasta de trabalho. Outros termos para cpia mestra so verso do servidor e verso do banco de dados. Mesclar Processo de combinar diferenas entre duas ou mais verses modificadas de um arquivo em uma nova verso de arquivo. Mesclar pode afetar diferentes verses do mesmo arquivo ou alteraes feitas a uma mesma verso do arquivo. Arquivo compartilhado Um arquivo com verses que residem em mais de uma localidade de controle de origem. Outros termos para um arquivo compartilhado so cpia e atalho. Raiz soluo Uma pasta vazia em um banco de dados que contm todos os itens de uma soluo controlada por origem. Por padro, essa pasta < nomedasolucao >.root. Raiz Super-unificada Um continer virtual abaixo do qual todos os projetos e os arquivos em uma soluo controlada por origem esto localizados. Por exemplo [SUR]: \. a raiz super-unificada de uma soluo controlada por origem contendo projetos localizados em [SUR]:\C:\Solucao\Proj1 e [SUR]:\D:\Proj2. Raiz unificada Um caminho para a pasta pai de todas as pastas de trabalho e arquivos em uma soluo ou projeto controlado por origem. Por exemplo, C:\Solucao a raiz unificada de uma soluo controlada por origem contendo arquivos localizados em C:\Solucao, C:\Solucao\Proj1 e C:\Solucao\Proj2. Pasta de trabalho Local no qual as cpias locais de itens controlados por origem so armazenados, geralmente no seu prprio computador. Outro termo para uma pasta de trabalho espao de trabalho.

Visual Studio

234

O que h de novo no controle de origem para o Visual Studio


O Visual Studio tem dado suporte a controle de origem e integrao de plug-ins de controle de origem h algum tempo. Entretanto, a verso atual inclui um nmero de aperfeioamentos de integrao. Para informaes sobre novos recursos da parte de controle de origem do SDK do ambiente Visual Studio, consulte "Novidades para controle de origem" Alternncia de plug-in Controle de origem agora permite alternar entre todos os tipos de plug-ins de controle de origem em Options no menu Tools. Esta alternncia permite a substituio completa da interface do usurio e permite um plug-in por soluo. Melhorias no acesso ao projeto via aberturas assncronas Controle de origem do Visual Studio foi aprimorado para abrir solues de forma assncrona e refletir o progresso de uma operao de abertura modificando os cones no Solution Explorer. O recurso de abertura assncrona marca projetos que ainda esto sendo baixados com uma ampulheta, e marca projetos totalmente baixados para acesso assim que eles estiverem disponveis. Isso significa que voc pode abrir e comear a trabalhar em um projeto mesmo que o Visual Studio esteja ainda abrindo os outros projetos na soluo. Observao Este recurso est apenas disponvel para Visual Basic, C#, J# e projetos da Web e no possui suporte de todos os plug-ins de controle de origem. Melhorias na caixa de dilogo do Visual Studio para dar suporte a controle de origem Os seguintes aperfeioamentos de acesso a arquivo foram feitos nas caixas de dilogo do Visual Studio:

Agora voc pode adicionar projetos ao controle de origem e abri-los facilmente usando a nova guia Source Control Stores na caixa de dilogo Open Project. Voc pode adicionar um arquivo existente do controle de origem a um projeto usando a caixa de dilogo Add Existing Item. Voc pode adicionar automaticamente solues e projetos ao controle de origem marcando a caixa de seleo Add to Source Control na caixa de dilogo New Project.

Sincronizao de excluses, renomeaes e movimentaes Para oferecer suporte a propagao de alterao de namespace, a verso mais recente de controle de origem sincroniza excluses, renomeaes, e movimentaes com o banco de dados. Quando voc fizer uma alterao voc ser solicitado a propagar a alterao, enquanto outros usurios podero sincronizar atravs de operaes de recuperao. Em verses anteriores, se voc exclua, renomeava ou movia um item no servidor, ele permanecia na sua pasta de trabalho mesmo aps a sincronizao. Melhorias nas operaes bsicas de controle de origem

Visual Studio

235

Os seguintes aperfeioamentos foram feitos nas operaes bsicas de controle de origem do Visual Studio:

Voc pode agora fazer um check-out de um arquivo de uma pasta de trabalho local sem precisar baixar pela rede a verso mais recente do arquivo no banco de dados. Agora checkouts so automticos e nmero de solicitaes reduzido. Voc tem uma opo para configurar o Visual Studio para automaticamente obter do controle de origem a ltima verso de todos os itens da soluo quando voc abrir uma soluo . Voc pode configurar o Visual Studio para fazer silenciosamente check-out de arquivos em edio e fazer automaticamente check-in das suas alteraes quando voc fechar a soluo.

Suporte ao Visual Web Developer O Visual Web Developer pode agora acessar recursos de controle de origem de projeto na Web, como baixar em qualquer local. Em verses anteriores do Visual Studio, o local estava embutido em cdigo para baixar em c:\inetpub\wwwroot.

Execuo de Tarefas de Controle de Origem


Esta seo descreve tarefas gerais de controle de origem que voc pode executar no Visual Studio para qualquer plug-in. Operaes bsicas de controle de origem como check in, check out e exibio de histrico so amplamente especficas de plug-in, embora essas operaes possam fazer uso de alguns dos elementos de interface de usurio padro suportados pelo pacote de controle de origem do Visual Studio. Para tarefas de plug-in-especfico, entretanto, voc deve consultar a documentao do plug-in de controle de origem especfico. Observao Muitos desses procedimentos referem-se seleo de comandos bsicos de controle de origem do menu File do Visual Studio. Alternativamente, voc pode acessar muitos dos comandos clicando com o boto direito do mouse em um item controlado por fonte no Solution Explorer.

COMO: Adicionar um projeto ao controle de origem


O controle de origem do Visual Studio permite adicionar um projeto e seu arquivo de soluo ao controle de origem ao mesmo tempo. Se uma soluo j estiver sob controle de origem, voc pode adicionar um novo projeto a ela. Fazendo check-in de uma soluo automaticamente coloca qualquer novos projetos que esta contm sob controle de origem. Para adicionar um projeto e soluo ao controle de origem 5. 6. 7. 8. No Visual Studio, crie um novo projeto. Se voc tiver dvidas sobre como fazer isso, procure a Ajuda do Visual Studio. Selecione a soluo que contm o novo projeto. No menu File, clique em Source Control. Clique em Add Solution to Source Control e selecione a base de dados de projeto qual quer adicionar a soluo usando os procedimentos do plug-in de controle de origem sendo utilizado.

Visual Studio

236

Para adicionar os projetos selecionados ao controle de origem 7. 8. 9. No Visual Studio, abra uma soluo existente no Solution Explorer. Crie novos projetos conforme necessrio na soluo. Se voc tiver dvidas sobre como fazer isso, h vrios procedimentos na Ajuda do Visual Studio. Faa o check-out do arquivo de soluo, pois o controle de origem precisa incluir os novos detalhes do projeto nesse arquivo. Use o procedimento de check-out especficos para o plug-in de controle de origem em uso.

10. No menu File, clique em Source Control, e em seguida, clique em Add Selected Projects to Source Control 11. Voc ser solicitado a decidir se deseja adicionar os projetos como subpastas da soluo ou como pastas separadas. Na maioria das situaes, voc deve adicionar os projetos pasta da soluo no banco de dados. 12. Faa o check-in da soluo de volta no controle de origem, usando o procedimento de check-in especfico para o plug-in de controle de origem em uso.

COMO: acoplar ou desacoplar uma soluo ou projeto


Voc deve ligar uma soluo ou projeto ao controle de origem de maneira que este item tenha acesso aos comandos bsicos de controle de origem, tais como Check Out, Check In, e Get. Uma ligao associa a cpia local do item cpia mestre no banco de dados. Desacoplar uma soluo ou projeto controlado por origem remove o item do controle de origem, desassociando a cpia local da cpia mestre no banco de dados, e desativando todos os comandos de controle de origem. Talvez voc precise desacoplar um item se:

Voc precisar relig-lo verso de backup do banco de dados quando o servidor primrio for desligado. Voc pode conectar a um servidor de backup, religar a sua cpia da soluo cpia mestre do servidor no banco de dados de backup, e continuar trabalhando normalmente. Para mais informaes, consulte COMO: conectar ou desconectar uma soluo ou projeto. Voc desejar iniciar uma nova ramificao sem nenhum histrico de controle de origem em uma pasta de banco de dados diferente. Voc desejar utilizar um outro plug-in de controle de origem .

Desacoplar um item no o remove permanentemente do banco de dados. Para obter mais informaes de como excluir um item, consulte COMO: excluir um item controlado por origem. Para ligar uma soluo ou projeto ao controle de origem 5. 6. 7. 8. No Visual Studio, abra o Solution Explorer e selecione uma soluo ou projeto a ser ligado. No menu File, clique em Source Control, depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Bind. Selecione o banco de dados e local ao qual ligar, e clique em OK.

Visual Studio

237

Para desacoplar uma soluo ou projeto do controle de origem 5. 6. 7. 8. No Visual Studio, abra o Solution Explorer e selecione uma soluo ou projeto a ser desacoplado. No menu File, clique em Source Control, depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Unbind. Clique em OK.

COMO: alterar o local da pasta de trabalho


s vezes o Solution Explorer indica locais de pasta por um sublinhado ondulado. Essas entradas representam caminhos invlidos relativos pasta de trabalho. Para corrigir caminhos invlidos, voc deve alterar o local da pasta de trabalho. Para alterar o local da pasta de trabalho 5. 6. 7. 8. No Visual Studio, abra o Solution Explorer. Clique em um caminho invlido na coluna Enter Working Copy Location Here. Clique no boto de reticncias () Digite um caminho vlido, por exemplo, http://<host local>/pasta1, e clique em OK. Se a pasta ainda no existir, o Visual Studio criar uma.

Como conectar ou desconectar uma soluo ou um projeto


Conforme descrito em Introduo ao Controle de Cdigo Fonte, uma soluo no Visual Studio pode ter um ou mais vnculos com o controle de cdigo fonte. Uma conexo criada automaticamente sempre que um item vinculado ao controle de cdigo fonte conforme descrito em Como vincular ou desvincular uma soluo ou um projeto. Pode-se criar uma conexo manualmente conforme descrito neste tpico. Se voc desconectar seu computador da rede ou perder a conexo por alguma outra razo, voc deve desconectar temporariamente os vnculos da soluo a fim de editar os projetos e os arquivos nela contidos. Quando voc desconecta uma soluo do controle de cdigo fonte, o nico comando bsico que voc pode usar o comando de check-out. Ao realizar o check-out de um item desconectado, a cpia local do item, contida na sua pasta de trabalho, torna-se editvel. Quando for possvel acessar o banco de dados novamente, voc pode reconectar a soluo e sincronizar sua cpia local com a cpia mestre mais recente. Procedimentos Para conectar uma soluo ou um projeto ao controle de cdigo fonte 5. 6. 7. No Visual Studio, abra a janela Solution Explorer e selecione os itens a serem conectados. No meu File , clique em Source Control e depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Connect.

Visual Studio

238

8. 5. 6. 7. 8.

Clique em OK. No Visual Studio, abra a janela Solution Explorer e selecione os itens a serem desconectados. No menu File, clique em Source Control e depois em Change Source Control. Na caixa de dilogo Change Source Control, clique em Disconnect. Clique em OK.

Para desconectar uma soluo ou projeto de controle de cdigo fonte

COMO: copiar um item sob controle de origem


Voc pode copiar um projeto de uma soluo sob controle de origem para outra, ou copiar um arquivo de um projeto sob controle de origem para outro. Quando voc copia um item, uma nova ramificao criada no banco de dados, junto com o histrico e outros metadados do item. Criar ramificaes permite que sua equipe desenvolva duas verses de um produto simultaneamente e independentemente. Observao Se voc copiar um projeto sob controle de origem para uma soluo que no est sob controle de origem, no podero ser criadas ramificaes no projeto. Para copiar um projeto sob controle de origem 8. 9. No Visual Studio, abra o Solution Explorer. Clique com o boto direito do mouse na soluo de destino no Solution Explorer.

10. No menu File, clique em Add e depois em Existing Project. 11. Na caixa de dilogo Add Existing Project, clique no nome de seu plug-in de controle de origem. 12. Clique duas vezes no banco de dados contendo o projeto que voc deseja copiar. 13. Selecione o projeto, e clique em Add. 14. Clique em OK. Para copiar um arquivo sob controle de origem 8. 9. No Visual Studio, abra o Solution Explorer. Clique com o boto direito do mouse no projeto de destino no Solution Explorer. Este projeto deve estar no mesmo banco de dados que o projeto de origem.

10. No menu File, clique em Add e depois em Existing Item. 11. Na caixa de dilogo Add Existing Item, clique no nome de seu plug-in de controle de origem. 12. Clique duas vezes no banco de dados que contm o arquivo que voc deseja copiar.

Visual Studio

239

13. Selecione o arquivo, e clique em Add. 14. Clique em OK.

COMO: excluir um item controlado por origem


Quando voc exclui um item controlado por origem, o Visual Studio exclui automaticamente a cpia local, se o plug-in de controle de origem apoiar a propagao de modificao de espao para nome. Caso contrrio, ele o consultar para obter instrues sobre excluso. Para mais informaes sobre propagao de modificao de espao para nome, consulte Introduo ao controle de origem. A maioria dos plug-ins para controle de origem para o Visual Studio no exclui permanentemente itens de um banco de dados. Para obter mais informaes sobre como excluir permanentemente um item de controle de origem, consulte a documentao do produto de terceiros para seu plug-in. Para excluir um item controlado por origem 3. 4. No Visual Studio, abra Solution Explorer. Clique com o boto direito do mouse no item que deseja excluir, depois clique Delete ou Remove.

Observao O comando Remove s estar disponvel para projetos a base de referncia, como projetos C++. 8. 9. Voc ser solicitado para fazer o check-out no item. Faa o check-out como apoiado pelo seu plug-in de controle de origem. Se tiver clicado em Remove, anteriormente, clique em Delete na caixa de dilogo que aparece.

10. Na caixa de dilogo Source Control, clique em Delete the item(s) locally and in the source control store. 11. Em Solution Explorer, faa o check-in do item como apoiado pelo seu plug-in de controle de origem. 12. Notifique a excluso a qualquer pessoa que possa ter feito o check-out do projeto ao qual o item excludo pertence. 13. Se houver suporte para a propagao de modificao de espao para nome, permita que os outros usurios faam a atualizao de suas cpias locais. Eles recebero uma mensagem notificando-os da excluso. 14. Se no houver suporte propagao de modificao de espao para nome, voc ter de informar aos outros usurios para removerem manualmente suas cpias locais do item excludo.

Como ativar recuperao automtica


Voc pode configurar o Visual Studio para recuperar automaticamente a verso mais recente de um item sob controle de verso sempre que voc abri-lo. Isso garante que a cpia local permanecer sincronizada com a cpia mestra.

Visual Studio

240

Procedimentos Para obter a verso mais recente automaticamente 5. 6. 7. 8. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control e em seguida clique em Environment. Marque a caixa de seleo Get everything when a solution or project is opened. Clique em OK.

Como desativar a criao da pasta <solutionname>.root


Quando voc adiciona uma soluo ao controle de cdigo fonte, o respectivo plug-in cria automaticamente uma pasta < solutionname >.root vazia no banco de dados. Essa pasta ir conter a raiz unificada da soluo. Para mais informaes sobre a raiz unificada, consulte Introduo ao controle de cdigo fonte. Cuidado Desativar a criao automtica da pasta < solutionname >.root ir alterar o comportamento do plug-in sempre que uma soluo com vrios projeto for adicionada ao controle de cdigo fonte. Por exemplo, operaes que adicionam projetos levaro mais tempo para concluir. Alm disso, voc ter que responder a solicitaes redundantes ao executar operaes de controle de cdigo fonte em vrios projetos. Para desativar a criao automtica da pasta < solutionname >.root 7. 8. 9. Na rea de trabalho do Windows, clique em Start e, em seguida, clique em Run Digite Regedit e clique em OK. Abra \SourceControl HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\ < nmero de verso >.

10. Selecione a chave DoNotCreateSolutionRootFolderInSourceControl e clique em Edit e depois em Modify. 11. Na caixa de dados Value, troque 0 por 1. 12. Clique em OK para aceitar a alterao do registro.

COMO: Ativar Check-ins automticos


Voc pode configurar o Visual Studio para que efetue automaticamente check-in nas suas alteraes no controle de origem quando voc fechar uma soluo. Automatizar o processo de check-in garante que seus trabalhos mais recentes se tornem periodicamente disponveis para outros membros da equipe, mesmo se voc esquecer fazer check-in manualmente. Para ativar checkins automticos 5. No Visual Studio, no menu Tools, clique em Options.

Visual Studio

241

6. 7. 8.

Na caixa de dilogo Options, clique em Source Control, clique em Environment. Marque a caixa de seleo Check in everything when closing a solution or project. Clique em OK.

COMO: desativar check-outs automticos


O controle de origem no Visual Studio permite check-outs automticos por padro. Esta seo descreve como voc pode configurar o Visual Studio para desativar check-outs automticos. Procedimentos Para desativar check-outs automticos 5. 6. 7. 8. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control, e depois clique em Environment. Na caixa Editing, desmarque a caixa de seleo Check out automatically. Clique em OK.

COMO: ativar ou desativar controle de origem


O controle de origem no Visual Studio estar disponvel somente se um plug-in vlido de controle de origem estiver instalado e registrado para ser usado em seu computador. O plug-in registrado durante a instalao do software de terceiros. O Visual Studio usa esse registro para localizar os plug-ins e as localidade de seus bancos de dados padro sempre que voc abrir a IDE do Visual Studio. Ela lista todos os plug-ins disponveis na aba Plug-in Selection da entrada Source Control na caixa de dilogo Options. Se voc no tiver nenhum plug-in de controle de origem compatvel instalado em seu computador, o controle de origem no Visual Studio no est ativado. Voc no ver nenhuma entrada Source Control no menu File. Cuidado Voc pode usar um plug-in de controle de origem no Visual Studio e o aplicativo autnomo de controle de origem correspondente para gerenciar o mesmo projeto ou soluo. Entretanto, fazer check-outs de itens de ambos os programas para a mesma pasta de trabalho no recomendvel. Isso pode levar a situaes em que solues e projetos no podem ser acessados no controle de origem. Para ativar um determinado plug-in de controle de origem 5. 6. 7. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options , clique em Source Control, clique em Plug-in Selection. Selecione o plug-in de controle de origem que deseja usar.

Visual Studio

242

8.

Clique em OK.

Para desativar completamente o controle de origem 5. 6. 7. 8. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options, clique em Source Control, clique em Plug-in Selection. Selecione None na caixa Current source control plug-in. Clique em OK.

COMO: excluir um arquivo de controle de origem


Se a soluo em voc estiver trabalhando contm arquivos que no requerem controle de origem, voc pode utilizar o comando Exclude from Source Control para marcar adequadamente o arquivo. Quando voc fizer isso, o arquivo permanecer no banco de dados, mas no mais realizado check-in ou check-out do mesmo a partir do projeto que o contm. Observao Arquivos gerados so excludos do controle de origem por padro. Um arquivo gerado um que pode ser recriado inteiramente pelo Visual Studio, de acordo com o contedo de outro arquivo do Visual Studio. Para excluir um arquivo do controle de origem 4. 5. 6. No Visual Studio, abra Solution Explorer e selecione o arquivo a ser excludo. No menu File, clique em Source Control, clique em Exclude from Source Control. Quando voc estiver pronto para colocar o arquivo sob controle de origem, voc pode acessar o menu File, clicar em Source Control e ento desmarcar Exclude from Source Control.

COMO: mover uma raiz de ligao de projeto


Voc talvez necessite mover a raiz de ligao de um projeto se alguns arquivos que voc deseja adicionar ao projeto estiverem localizados fora da raiz do projeto. Para mover uma raiz de ligao de projeto 10. No Visual Studio, abra o Solution Explorer e selecione um projeto que contm arquivos que estejam fora da pasta da soluo ou raiz do projeto. 11. No menu File, clique em Source Control, depois em Change Source Control. 12. Na caixa de dilogo Change Source Control, clique em Unbind. 13. Na caixa de mensagem, clique em Unbind para confirmar que voc deseja remover o projeto do controle de origem. 14. Se a soluo e o projeto compartilham uma ligao de controle de origem, desacople a soluo tambm.

Visual Studio

243

15. Com o projeto selecionado, acesse novamente a caixa de dilogo Change Source Control e clique em Bind. 16. Se solicitado, faa logon no seu banco de dados de controle de origem. 17. Selecione a pasta pai na qual todos os arquivos no projeto esto armazenados. Na maioria dos casos, a pasta <nomesoluo>.root esta pasta. 18. Se voc teve que desacoplar a soluo juntamente com o projeto, voc deve relig-la a uma pasta de banco de dados.

COMO: mover um item controlado por fonte


No Visual Studio, voc pode mover um item controlado por origem de uma pasta de projeto ou soluo para outro. Quando voc move um item, voc move todo o histrico e metadados de controle de origem associados se o plug-in de controle de origem apoiar a propagao de modificao de espao para nome. Tanto a origem quanto os itens de destino envolvidos em uma operao de mudana de local devem ser localizados no mesmo banco de dados de controle de origem. Para mais informaes sobre propagao de modificao de espao para nome, consulte Introduo ao controle de origem. Observao A operao de mudana s pode ocorrer entre dois projetos na mesma soluo, ou entre duas solues. Para uma mudana de local ser ativada, uma soluo e seus projetos devem compartilhar uma vinculao de controle de origem. Para mais informaes, consulte COMO: acoplar ou desacoplar uma soluo ou projetos. Para mover um item controlado por origem 3. 4. No Visual Studio, abra o Solution Explorer. Clique no item que voc deseja mover e arraste-o para a soluo ou projeto de destino no Solution Explorer.

COMO: abrir um projeto ou soluo do controle de origem


Quando voc abre um projeto ou soluo do controle de origem, o Visual Studio baixa a cpia mestra mais recente do item e de todos os arquivos contidos para a pasta de trabalho local. Depois que voc recuperar uma cpia local do item, voc no precis abri-lo a partir do controle de origem novamente. Voc pode continuar a usar os comandos de controle de origem para o seu plug-in especfico de controle de origem. Cuidado Se voc repetir um dos procedimentos neste tpico, voc criar vrias pastas de trabalho e vrias instncias dos arquivos que elas contm.

Visual Studio

244

Para abrir um projeto ou soluo do controle de origem 7. 8. 9. No Visual Studio, no menu File, clique em Open. Clique em Project/Solution. Na caixa de dilogo Open Project , selecione Close Solution if not already selected.

10. No lado esquerdo da caixa, clique em My <source control plug-in> Stores, e depois clique em Open. 11. Procure e selecione o seu arquivo de projeto (*.proj) ou de soluo (*.sln), altere a pasta de destino, e depois clique em Open. 12. Se voc j tiver uma cpia local da soluo ou do projeto que voc est abrindo do controle de origem, voc ser solicitado a substituir a cpia local de todos os arquivos e projetos na soluo. Responda s perguntas conforme necessrio. Para abrir um projeto da Web do controle de origem 6. 7. 8. 9. No Visual Studio, no menu File, clique em Open. Clique em Web Site. Na caixa de dilogo Open Web Site, clique em My <source control plugin> Stores, depois clique em Open. Procure e selecione o projeto da Web, altere a pasta de destino, e depois clique em Open.

10. Se voc j tiver uma cpia local do projeto da Web que voc est abrindo do controle de origem, voc ser solicitado a substituir a cpia local de todos os arquivos e projetos na soluo. Responda s perguntas conforme necessrio.

COMO: Renomear um item controlado por origem


Quando voc renomeia um item controlado por origem, o Visual Studio renomeia a cpia local automaticamente se o plug-in de controle de origem suporta propagao da alterao de namespace. Caso contrrio, ele consultar voc para obter instrues de renomeao. Para mais informaes sobre propagao de alteraes de namespaces, consulte Introduo ao controle de origem. Para renomear um item de origem controlada 10. No Visual Studio, abra o Solution Explorer. 11. Clique com o boto direito do mouse no arquivo a ser renomeado, clique Rename. 12. Digite um novo nome e pressione Enter. 13. Voc ser solicitado para fazer check-out do item. Efetue o check-out conforme o suporte de seu plug-in de controle de origem. 14. Na caixa de dilogo Source Control, clique em Rename or move the item(s) locally and in the source control store. 15. No Solution Explorer, efetue o check-in do item conforme o suporte de seu plug-in de controle de origem.

Visual Studio

245

16. Notifique qualquer pessoa que possa ter efetuado check-out do item que voc renomeou. 17. Se houver suporte para propagao da alterao de namespace, faa com que os outros usurios efetuem um get para atualizar suas cpias locais. Eles recebero uma mensagem notificando-os sobre a operao de renomeao. 18. Se no houver suporte para a propagao da alterao do namespace, necessrio informar aos outros usurios para que renomeiem suas cpias locais manualmente para refletir a alterao do nome.

COMO: definir opes de plug-in


Dependendo da como voc gerenciar seus itens em controle de origem, voc pode desejar alterar algumas das opes padro de controle de origem antes de usar o banco de dados. Essas opes esto disponveis atravs da Configurao Options no menu Tools do Visual Studio. Observao Consulte a documentao do plug-in de controle de origem em uso para uma lista completa das opes no nvel do banco de dados e das mais avanadas, alm de instrues sobre como configur-las. Para definir opes de plug-in 10. No Visual Studio, no menu Tools, clique em Options e, em seguida, em Source Control. 11. Na caixa de dilogo Options, clique em Plug-in Selection, assegure-se que seu plug-in o indicado, e clique em OK. 12. Selecione Environment na caixa de dilogo Options. 13. Na caixa Source Control Environment Settings, selecione a funo para a qual voc deseja definir as opes de controle de origem. O Visual Studio seleciona automaticamente as opes de controle de origem padro para a funo que voc tiver selecionado. Se voc desmarcar qualquer uma das opes padro, a caixa Source Control Environment Settings exibe a Opo Custom para indicar que voc personalizou o perfil originalmente selecionado. 14. Personalize o perfil, marcando ou desmarcando as caixas de seleo do controle de origem. 15. Clique em OK. 16. Agora clique em Plug-in Settings na caixa de dilogo Options. 17. Nessa aba, voc pode definir configuraes para cada funo do plug-in. Clicando no boto Advanced tem-se acesso s configuraes avanadas para a funo que voc est configurando. 18. Quando concluir todas as configuraes do plug-in, clique em OK para sair da caixa de dilogo Options.

Visual Studio

246

Como: Trocar plug-ins de controle de origem:


Se voc tiver instalado mais de um plug-in para controle de origem para o Visual Studio, voc pode troc-los a qualquer momento. Lembre-se que projetos controlados por um plug-in de controle de origem no podem ser adicionados a uma soluo gerenciada por um plug-in diferente. Uma vez que voc acrescenta uma soluo ou projeto ao controle de origem que usa um plug-in, voc no pode acrescentar o mesmo item ao controle de origem que usa outro plug-in, a menos que voc remova, primeiro, o item do controle de origem. Para mudar o plug-in padro de controle de origem 4. 5. 6. No Visual Studio, no menu Tools, clique em Options. Na caixa de dilogo Options clique em Source Control, depois em Plug-in Selection. Selecione um plug-in e clique OK.

COMO: exibir uma lista de arquivos com check-out


Voc pode usar a janela Pending Checkins para exibir uma lista dos arquivos com check-out na soluo atual. O controle de origem do Visual Studio permite que voc faa um check-in de arquivos desta janela com um nico clique de boto. Para exibir uma lista de arquivos modificados 4. 5. 6. No Visual Studio, no menu View, clique em Pending Checkins. Encaixe a janela conforme desejado. Se voc desejar fazer check-in de arquivos desta janela, selecione-os e clique no boto Check In.

Referncia a Interface do Usurio do controle de origem


Esta seo descreve as caixas de dilogo usadas pelo controle de origem no Visual Studio. As caixas de dilogo a seguir so modelos que o desenvolvedor de plug-in pode adaptar conforme necessrio. Voc pode ou no ver essas caixas de dilogo no Visual Studio, dependendo do plug-in que est sendo usado para controle de origem:

Verifique em Verificar sada para editar Obter Desfazer Checkout

Caixa de dilogo Change Source Control


Cria e gerencia as conexes e ligaes que vinculam uma soluo ou projeto localmente salvos a uma pasta no banco de dados.

Visual Studio

247

Observao No possvel usar o Visual Studio para vincular, desvincular, conectar ou desconectar um aplicativo da Web criado utilizando as FrontPage Server Extensions. Acesso caixa de dilogo No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control e depois em Change Source Control. Observao Esta caixa de dilogo tambm est disponvel clicando com o boto direito do mouse sobre o item no Solution Explorer. Vincular Associa os itens selecionados a uma localidade do servidor de controle de origem especificado. Por exemplo, voc pode usar este boto para criar um vinculo pasta mais recentemente utilizada do servidor de controle de origem e banco de dados. Se uma pasta recente do servidor ou do banco de dados no puder ser encontrada, voc ser solicitado a especificar outra. Procurar Permite que voc procure uma nova localidade para o item especificado no servidor de controle de origem. Colunas Identifica colunas para exibio e a ordem na qual elas so exibidas. Conectar Cria uma conexo entre itens selecionados e o servidor de controle de origem. Conectado Exibe o status da conexo de uma soluo ou projeto selecionado. Desconectar Desconecta a cpia local de uma soluo ou projeto no seu computador da cpia mestre no banco de dados. Utilize esse comando antes de desconectar seu computador do servidor de controle de origem, por exemplo, ao trabalhar off-line em seu laptop. OK Aceita alteraes feitas na caixa de dilogo. Provedor Exibe o nome do plug-in de controle de origem. Atualizar Atualiza as informaes de conexo para todos os projetos listados nesta caixa dilogo. Servidor Binding

Visual Studio

248

Indica a ligao de um item a um servidor de controle de origem. Nome do servidor Exibe o nome do servidor de controle de origem ao qual a soluo ou projeto correspondente est acoplada. Solution/Project Exibe o nome de cada projeto e soluo na seleo atual. Classificao Altera a ordem de classificao de colunas exibidas. Status Identifica o status de vinculao e conexo de um item. As possveis opes so: Opo Vlido Descrio Especifica que o item est corretamente vinculado e conectado a pasta do servidor ao qual ele pertence. Especifica que o item est incorretamente vinculado ou desconectado da pasta qual ele pertence. Use o comando Add to Source Control ao invs do comando Bind para este item.

Invlido

Desconhecido Especifica que status do item sob controle de origem ainda no foi determinado. No controlado Desagrupar Exibe a caixa de dilogo Source Control que permite que voc remova os itens selecionados do controle de origem e permanentemente disassocie-os das suas pastas. Observao Se voc desvincular um projeto da Web, ser impossvel revincul-lo a seu servidor de controle de origem original at que voc altere a localidade de sua cpia de trabalho. Especifica que o item no se encontra sob controle de origem.

Caixa de dilogo Check In (Controle de Cdigo Fonte)


Verifica um arquivo, soluo ou projeto alterado no banco de dados do controle de cdigo fonte. Check-ins tambm podem ser feitos a partir da janela Pending Checkins. Acesso caixa de dilogo No Visual Studio, selecione um item na janela Solution Explorer. No menu File, clique em Source Control depois em Check In.

Visual Studio

249

Observao Esta caixa de dilogo tambm disponibilizada clicando-se com o boto direito no item na janela Solution Explorer. Check In Realiza o check-in de todos os itens selecionados. Columns Identifica as colunas a serem exibidas e a ordem na qual elas so exibidas. Comments Especifica um comentrio a ser associado com a operao de check-in. Don't show Check in dialog box when checking in items Impede que a caixa de dilogo seja exibidas durante operaes de check-in. Flat View Exibe os arquivos onde est sendo feito o check-in como listas simples sob sua conexo com controle de cdigo fonte. Name Exibe os nomes dos itens onde deve-se fazer o check-in. Os itens aparecem com as caixas de seleo ao lado selecionadas. Se voc no desejar fazer check-in de um item especfico, desmarque sua caixa de seleo. Options Exibe opes de check-in especficas de plug-ins de controle de cdigo fonte quando a seta direita do boto selecionada. Sort Altera a ordem de classificao das colunas de exibio. Tree View Exibe a pasta e a hierarquia dos itens nos quais voc estiver realizando o check-in.

Check-out para a caixa de dilogo Edit (controle de origem)


Faz check-out de solues, projetos ou itens individuais do controle de origem. Fazer check-out de um item pode copiar a cpia mestre atual para o seu computador local e remover o seu atributo de somente leitura. Opcionalmente voc pode configurar o comando Check Out For Edit para fazer check-out somente da verso local. A menos que o pacote de controle de origem esteja configurado para dar suporte a checkouts compartilhados, fazer check-out de um item tambm bloqueia o item de maneira que ele estar em somente leitura para outros usurios. Caixa de dilogo Access No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control, depois clique em Check Out For Edit.

Visual Studio

250

Observao Esta caixa de dilogo tambm est disponvel clicando com o boto direito do mouse no item no Solution Explorer. Verificar sada Faz check-out de todos os itens selecionados. Colunas Identifica as colunas para exibio e a ordem na qual elas so exibidas. Comentrios Especifica um comentrio para associar operao de check-out. No caixa dilogo Show Check Out quando check-out itens Impede que a caixa de dilogo seja exibida durante operaes de check-out. Exibir simples Exibe os itens do check-out em progresso como listas simples sob sua conexo de controle de origem. Editar Permite que voc modifique um item sem fazer seu check-out. O boto Edit aparece somente se voc tiver o Visual Studio configurado para dar suporte edio de arquivos com check-in. Nome Exibe os nomes dos itens disponveis para check-out. Os itens que esto selecionados aparecem com caixas de seleo ao seu lado. Se voc no desejar fazer check-out de um item especfico, desmarque sua caixa de seleo. Opes Exibe opes de check-out especficas do plug-in de controle de origem quando a seta direita do boto clicada. Classificao Altera a ordem de classificao das colunas exibidas. Exibir rvore Exibe a hierarquia de pastas e arquivos para o item do check-out em progresso.

Caixa de dilogo Get (controle de origem)


Recupera uma cpia somente para leitura do item selecionado do banco de dados para sua pasta de trabalho, ou outra pasta que voc especificar. Acesso caixa de dilogo No Visual Studio, selecione um item no Solution Explorer. No menu File, clique em Source Control, depois em Get.

Visual Studio

251

Observao Esta caixa de dilogo tambm est disponvel clicando-se com o boto direito do mouse sobre o item no Solution Explorer. Ao Especifica a ao a ser executada nos itens a ser recuperados. Colunas Identifica colunas para exibio e a ordem na qual elas so exibidas. Exibir simples Exibe os arquivos sendo recuperados como listas simples sob suas conexes ao controle de origem. Hora modificado Exibe o momento em que um item foi modificado pela ltima vez. Nome Exibe os nomes dos itens a ser recuperados. Os itens aparecem com as caixas de seleo ao lado dos mesmos selecionadas. Se voc no desejar recuperar um item especfico, desmarque a caixa de seleo correspondente. Opes Exibe opes de recuperao especficas do plug-in do Source Safe quando a seta direita do boto clicada. Classificao Altera a ordem de classificao das colunas exibidas. Exibir rvore Exibe a hierarquia de pastas e arquivos para os itens sendo recuperados.

Janela de check-ins pendentes


Exibe todos os arquivos com check-out na soluo ou projeto atual. Voc pode usar esta janela para fazer check-in de todos os arquivos com um nico clique de boto. Caixa de dilogo de acesso No Visual Studio, no menu View, clique em Pending Checkins. Change type Identifica o tipo de alterao que foi feita para o item selecionado. Check In Efetua check-in dos itens selecionados. Columns Identifica as colunas para exibio e a ordem na qual elas sero exibidas. Comments Especifica um comentrio a ser associado com a operao de check-in.

Visual Studio

252

Flat View Exibe os arquivos que voc est efetuando check-in na forma de listas simples em sua conexo de controle de origem. Name Exibe os nomes dos itens com check-in a ser efetuado. Os itens aparecem com as caixas de seleo ao seus lados selecionadas. Se voc no desejar fazer o check-in de um item especfico, desmarque sua caixa de seleo. Options Exibe opes de check-in especficas de plug-ins quando a seta direita do boto clicada. Sort Altera a ordem de classificao das colunas exibidas. Tree View Exibe a hierarquia das pasta e arquivos que voc estiver efetuando check-in. Undo checkout Reverte o check-out de um item selecionado, o qual perde qualquer alterao feita desde o check out.

Guias de plug-in para controle de origem (caixa de dilogo Options)


Permitem a personalizao de funes de controle de origem e configuraes de plug-in no Visual Studio. As guias de plug-in fazem parte da caixa de dilogo Options do Visual Studio, localizada sob a entrada Source Control:

Plug-in Selection Alterna entre os plug-ins de controle de origem. Environment Especifica as configuraes de ambiente para as funes padres definidas pelo Visual Studio. Por exemplo, se o usurio for um desenvolvedor independente, conflitos com outros usurios no so geralmente criados ao manter itens com check-out aps um check-in. Para esta funo, o Visual Studio seleciona automaticamente a opo Keep items checked out when checking in. Plug-in Settings Especifica opes para identificar o plug-in de controle de origem associado a um projeto ou soluo.

Guia Access No Visual Studio, no menu Tools, clique em Options, e depois em Source Control. Opes so definidas para Plug-in Selection, Environment, e Plug-in Settings. Lista de elementos de interface do usurio, Selection Plug-in Altera o plug-in atual de controle de origem associado ao IDE do Visual Studio, e faz dele o plug-in padro. O plug-in selecionado refletido na entrada Source Control no menu File do Visual Studio. Clique em OK para registrar sua alterao e alternar a operao para o plug-in escolhido por voc. Observao

Visual Studio

253

Voc pode usar esta parte da caixa de dilogo Options para desativar o controle de origem clicando em None na lista de plug-ins Lista de elementos de interface do usurio, Environment Permitir que itens a serem editadas checked-in Especifica que itens com check-in podem ser editados na memria. Se este item estiver selecionado, um boto Edit aparecer na caixa de dilogo Check Out For Edit quando voc tentar editar um item com check-in. Check in tudo ao fechar uma soluo ou projeto Especifica que voc ir fazer check-in de todos os itens ao fechar uma soluo ou projeto. Itens Checked-in Contm configuraes para salvar e editar itens com check-in. No Mostrar caixa de dilogo check-out quando check-out itens Especifica que o Visual Studio deve exibir o comando Check Out Now no menu File. Nesse caso, uma caixa de dilogo de check-out no exibida. No Mostrar caixa de dilogo check-in ao verificar em itens Especifica que o Visual Studio deve exibir o comando Check In Now no menu File. Nesse caso, uma caixa de dilogo de check-in no ser exibida. No mostrar esta caixa de dilogo novamente Especifica que o Visual Studio no deve mostrar as configuraes de ambiente de controle de origem. Edio Especifica a maneira com que itens devem ser manipulados na edio. As opes possveis so: Opo Prompt for checkout Prompt for exclusive checkouts Check out automatically Do nothing Descrio Especifica que o Visual Studio deve emitir um prompt para um check-out. Especifica que o Visual Studio deve emitir um prompt para check-outs exclusivos. Indica que o Visual Studio deve fazer check-out de itens automaticamente. Especifica que o Visual Studio no deve fazer nada na edio.

Obter tudo quando uma soluo ou projeto for aberto Recupera a verso mais recente de todos os itens quando voc abre uma soluo ou projeto. Manter itens check-out ao verificar na Especifica que itens em processo de check-in devem permanecer com checkout para voc. Se voc desejar alterar esta opo para um check-in

Visual Studio

254

especfico, clique na seta de Options na caixa de dilogo Check In, e desmarque a opo Keep Checked Out. Redefinir Redefine confirmaes. Salvar Especifica a maneira com que itens devem ser manipulados quando voc os salva. As opes possveis so: Opo Prompt for checkout Descrio Especifica que o Visual Studio deve emitir um prompt para check-out em uma operao de salvar. Especifica que o Visual Studio deve fazer check-out automaticamente em uma operao de salvar. Especifica que o Visual Studio deve apresentar um prompt Save as em uma operao de salvar.

Check out automatically Save as

Configuraes de ambiente controle de origem Especifica o nome do plug-in de controle de origem para o qual voc est definindo opes de ambiente. Lista de elementos de interface do usurio, Plug-in Settings Avanadas Permite que voc defina opes adicionais para usar o plug-in de controle de origem . O boto Advanced s est disponvel quando um plug-in de controle de origem vlido est instalado no computador local. As configuraes avanadas so especficas para o plug-in. Identificao de logon Especifica o nome de usurio para efetuar logon no plug-in de controle de origem. Se seu plug-in der suporte, esse nome ser colocado automaticamente na caixa de dilogo de logon usada pelo plug-in de controle de origem para acessar o servidor. Para ativar essa opo, desative logons de usurio automticos do seu plug-in de controle de origem, e reinicie o Visual Studio. Observao A identificao de logon somente pode ser editada quando um plug-in vlido de controle de origem estiver instalado na mquina local. Executar atualizaes de status em segundo plano Atualiza automaticamente os cones de controle de origem no Solution Explorer medida que o status de item se altera. Se voc tiver atrasos ao executar operaes intensivas no servidor, especialmente quando abrir uma

Visual Studio

255

soluo ou projeto do controle de origem, desmarcar esta opo pode melhorar o desempenho. Configuraes plug-in Especifica o nome do plug-in de controle de origem para o qual voc est fazendo configuraes.

Caixa de dilogo Source Control


Permite que voc remova itens do controle de cdigo fonte e desfaa permanentemente a associao entre os itens e suas pastas. Esta caixa de dilogo usada para propagar as operaes excluir, renomear e mover. Acesso caixa de dilogo No Visual Studio, clique em um item com o boto direito do mouse, em seguida, clique em Delete ou Rename. O contedo da caixa de dilogo varia dependendo do comando. Lista de elementos da interface do usurio para renomeaes ou movimentaes Make my current choice the default action for all future renames or moves Especifica que sua escolha ser a ao padro das operaes posteriores de renomear ou mover. Voc pode redefinir o padro em Only rename or move item(s) locally Especifica que os itens devem ser renomeados localmente. Os itens renomeados ou movidos no mais estaro sob controle de verso. Rename or move the item(s) locally and in the source control store Especifica que os itens devem ser renomeados localmente e no banco de dados. A verso mais recente da soluo ou projeto no refletir a renomeao ou a movimentao at o prximo check-in. You are about to rename or move the following Lista os itens que voc selecionou para serem renomeados ou movidos. Lista de elementos da interface do usurio para excluses Delete the item(s) locally and in the source control store Especifica que os itens devem ser excludos localmente e no banco de dados. A verso mais recente da soluo ou projeto no refletir a operao de excluso at o prximo check-in. Make my current choice the default action for all future deletes Especifica que a sua escolha ser a ao padro das operaes posteriores de excluso. Only delete item(s) locally Especifica que os itens devem ser excludos localmente. Outros membros da equipe no so afetados por essa opo at o prximo check-in. Voc precisar excluir manualmente os itens no banco de dados aps o check-in. You are about to delete the following

Visual Studio

256

Lista os itens que voc selecionou para excluso.

Caixa de dilogo Undo Checkout (Controle de Cdigo Fonte)


Reverte a opo de check-out do item selecionado na janela Solution Explorer. Voc perder qualquer alterao feita desde o ltimo check-out. Acesso caixa de dilogo No Visual Studio, selecione um item na janela Solution Explorer. No menu File, clique em Source Control e em seguida clique em Undo Checkout. Observao Esta caixa de dilogo tambm disponibilizada clicando-se com o boto direito no item na janela Solution Explorer. Columns Identifica as colunas a serem exibidas e a ordem na qual elas so exibidas. Flat View Exibe os itens como listas simples sob a sua conexo com o controle de cdigo fonte. Name Exibe os nomes dos itens para os quais ser desfeito o check-out. Os itens aparecem com as caixas de seleo ao seu lado selecionadas. Se voc no deseja desfazer o check-out de um item, desmarque sua caixa de seleo. Options Exibe opes para desfazer o check-out especficas de plug-ins de controle de cdigo fonte quando a seta direita do boto selecionada. Sort Altera a ordem de classificao das colunas de exibio. Tree View Exibe a pasta e a hierarquia dos itens nos quais voc est revertendo o check-out. Undo Checkout Reverte o check-out.

Visual Studio

257

Visual Studio

258

Configuraes do Visual Studio


Configuraes no Visual Studio consistir de personalizaes feitas para o ambiente de desenvolvimento integrado (IDE) com base em diferentes tipos de atividades de desenvolvimento e seus prprios personalizaes. Essas personalizaes incluir mostrar ou ocultar determinada layouts janela, colocao dos comandos de menu, nomes de menu, modelos disponveis na caixa de dilogo Novo projetos, janelas de ferramentas, predefinidas combinaes de teclas de atalho, e ajuda filtros, e assim por diante. Com configuraes, voc pode:

Criar uma cpia das suas configuraes ativa para uso em uma segunda mquina Compartilhar suas configuraes Ativa com outros desenvolvedores Permitir todos os membros da equipe para usar as mesmas configuraes em Selecione reas, como o editor, sem remover personalizaes para outras reas individuais

Quais so configuraes? Configuraes so personalizaes ao IDE, como layouts janela, padres editor, e opes caixa dilogo disponveis que voc pode salvar, Exportar, importar, ou redefinir para facilitar o IDE para usar. As configuraes Ativa consistem em duas partes: predefinidas personalizaes do arquivo instalado.vssettings voc selecionou na primeira vez voc iniciou Visual Studio e qualquer personalizao IDE subseqentes que voc fez. Configuraes ativa so salvas por padro no currentsettings.vssettings arquivo. Para obter mais informaes sobre as configuraes predefinidas disponveis com Visual Studio, consulte os seguintes tpicos. Como configuraes funcionam? Quando voc inicia Visual Studio, primeiro necessrio para selecionar uma coleo configuraes que contm configuraes predefinidas projetadas para corresponder seus hbitos de desenvolvimento. Se voc atualizar para outro edio do Visual Studio, voc tambm ter a opo de aplicar configuraes a outros edio na usando a My Previous Settings opo. A coleo configuraes o primeiro elemento de suas configuraes ativa. Cada vez que fizer uma alterao em uma configurao controlada pelo Visual Studio, como alterar a cor do commented cdigo no Editor, a alterao automaticamente salvo para currentsettings.vssettings juntamente com as configuraes predefinidas. O Visual Studio aplica suas configuraes ativa automaticamente sempre que voc iniciar o Visual Studio. Em alguns casos, voc pode alterar as configuraes aplicadas como parte de uma coleo predefinida Por exemplo, se uma coleo configuraes simplificada caixa de dilogo Opes, ocultando pginas, voc pode exibir essas pginas manualmente, selecionando Show all settings. Em outros casos, voc no pode substituir a configurao predefinida sem aplicar uma coleo diferente. Para obter uma lista detalhada das personalizaes includos no configuraes predefinidas, consulte Configuraes do Visual Studio. Para obter informaes sobre como aplicar colees configuraes diferentes, consulte Como: Alterar configuraes selecionadas.

Visual Studio

259

Configuraes podem ser aplicadas de duas maneiras: completamente voc pode substituir as configuraes Ativa com novas configuraes ou voc pode substituir uma parte de suas configuraes ativa. Importar um arquivo que contm todas as categorias configuraes possveis.vssettings ou aplicar outra coleo configuraes dois substituiro as configuraes ativa completamente. Importar um arquivo que contm somente um subconjunto das categorias configuraes ou unselecting categorias configuraes em um arquivo.vssettings.vssettings s se aplica essas configuraes que estiver selecionadas, deixando as configuraes ativos para as categorias restantes intacto. Ajuda e Configuraes Colees configuraes predefinidas tambm fornecer personalizaes Ajuda. Configuraes especificam o padro How Do I Pgina na Ajuda. Eu selecionado como pendente eu pgina filtros fazer o contedo que aparece no ndice analtico e no ndice,, bem como fornece contedo personalizado na caixa como guia. Voc pode alterar o ativo How Do I pgina na lista drop-down como pendente eu outras pginas. Configuraes e segurana Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana se voc compartilhar suas configuraes com outros usurios. Inversamente, se voc pretende importar configuraes fornecidas por outras pessoas, voc precisar estar ciente das categorias dentro do arquivo configuraes que podem ser uma questo de segurana. Um cone aparece ao lado essas categorias com as possveis questes de segurana. Essas categorias configuraes incluem:

Favoritos Importar e exportar configuraes

Como: Alterar configuraes selecionadas


Voc pode aplicar um sub-set das configuraes de uma coleo configuraes diferentes para as configuraes atuais para criar um ambiente de desenvolvimento mais personalizada. Para obter mais informaes sobre configuraes predefinidas, consulte Configuraes do Visual Studio. Para alterar configuraes selecione 7. 8. 9. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. Na pgina Save Current Settings, selecionar Yes, save my current settings, e clique em Next

10. No Which collection of settings do you want to import, selecione uma coleo configuraes na lista e clique em Next. 11. No Which settings do you want to import, expanda a lista e selecione apenas a categorias ou itens de categoria que voc deseja que se aplicam as configuraes atuais. 12. Clique em Finish. A Reset Complete pgina lista os erros associados a redefinindo as configuraes com Details.

Visual Studio

260

Trabalhando com configuraes


Esta seo contm informaes sobre a aplicao, exportar e importar configuraes para personalizar o ambiente de desenvolvimento integrado (IDE) para melhor correspondncia seu estilo de desenvolvimento. Voc tambm pode encontrar informaes gerais sobre como configuraes funcionam e os tipos de itens que so personalizadas atravs das configuraes. Alm disso, aprender a especificar um conjunto de configuraes de uso da equipe.

COMO: Compartilhar configuraes entre computadores


Voc pode exportar configuraes para o editor, projetos, depurao, fontes e cores, e outras reas IDE a um arquivo que voc pode importar e usar em outro computador, como seu computador de desenvolvimento segundo ou computador um colega na. Exportar configuraes para um arquivo Voc pode optar por exportar todas ou algumas das suas configuraes atuais a um arquivo.vssettings que voc pode usar em um computador segundo ou compartilhar com outros desenvolvedores. Para exportar configuraes 8. 9. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Export selected environment settings e clique em Next.

10. No Which settings do you want to export?, selecione as categorias voc pretende exportar e, em seguida, clique em Next Configuraes. Observao Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 11. No What do you want to name your settings file, digite um nome para o arquivo de configuraes. 12. Se voc gostaria de salvar o arquivo em um local diferente, clique Browse ou digite um novo caminho para Store my settings file in this directory. 13. Clique em Finish. 14. Na pgina Export Complete, examine os erros associados exportao as configuraes com Details. Importar um arquivo.vssettings Aps ter criado um arquivo.vssettings, voc pode usar esse arquivo em outros computadores ao importar esse arquivo para outra instalao do Visual Studio. Voc tambm pode importar arquivos de configurao criados por outros usurios e aplicar essas configuraes para o Visual Studio. Se voc est importando o arquivo configuraes contm todas as categorias configuraes possveis, importar esse arquivo completamente substitui as configuraes existentes. Importar o arquivo se um arquivo de configuraes

Visual Studio

261

contm apenas um subconjunto das categorias configuraes, apenas aplica essas categorias e no afeta as configuraes atuais para categorias no importadas. Um desenvolvedor na equipe por exemplo, tem exportadas todas as sua configuraes para um arquivo para que outras pessoas na equipe podem utiliz-lo. Se voc desejar se aplicar as configuraes de fontes e cores e as configuraes teclado desse arquivo, somente voc pode limpar todos os outras categorias configuraes e apenas aplicar as configuraes selecionadas sem alterar as configuraes atuais para as categorias restantes Para importar configuraes 9. No menu Tools, escolha Import and Export Settings. 10. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. 11. Logon Save Current Settings, optar Yes, save my current settings por criar um backup de suas personalizaes IDE atuais; optar No, just import new settings, overwriting my current settings por continuar sem fazer o backup suas personalizaes IDE atuais. 12. No What collection of settings do you want to import?, selecione um arquivo na lista ou clique Browse para localizar um arquivo de configuraes e clique em Next. 13. No Which settings do you want to import?, selecione as configuraes opes voc pretende importar do arquivo.vssettings selecionado. Observao Algumas categorias configuraes podem conter informaes que podem ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 14. Clique em Finish. 15. Na caixa Save Current Settings de dilogo, decidir se deve ou no para salvar as configuraes atuais. 16. Na pgina Import Complete, examine os erros associados a importar as configuraes em Details. Compartilhar um arquivo nico.vssettings entre computadores Em vez de criar uma cpia das suas configuraes atuais e usando a cpia em outro computador, voc pode compartilhar um arquivo.vssettings nico em um compartilhamento de rede. Essa tcnica pode ser til se voc desejar as personalizaes mesmas exatas disponveis em todas as vezes em vrios computadores. Quando voc compartilhar um arquivo.vssettings nico em vrios computadores, personalizaes feitas, independentemente do computador no qual voc torn-los na, so salvas para o arquivo.vssettings. A lista Tarefas por exemplo, se voc fechar a lista de tarefas em um computador, na prxima vez que voc iniciar o Visual Studio em outros computadores, no ser exibida. Para compartilhar um arquivo nico configuraes entre computadores 6. 7. No menu Tools, escolha Options Na pasta Environment, escolha Import and Export Settings.

Visual Studio

262

8. 9.

Na Automatically save my settings to this file, digite uma pasta compartilhada ou clique Browse para localizar um compartilhamento de rede. Clique em OK.

10. No segundo computador, repita as etapas 1 a 4.

Como: Especificar configuraes para uma equipe


Quando estiver trabalhando em um grupo, ele pode ser til para que cada desenvolvedor usar as configuraes mesmas exatas em algumas reas do ambiente de desenvolvimento integrado (IDE), como o editor. Voc pode incentivar Essa consistncia criando um arquivo.vssettings para um subconjunto de categorias configuraes disponveis que todos os desenvolvedores de seu grupo podem usar. Quando aplicado, essas configuraes da equipe no seria substituem qualquer categoria no especificada no arquivo.vssettings, permitindo que desenvolvedores individuais para manter personalizaes feitas para outras reas do IDE. Para obter informaes sobre como criar um arquivo.vssettings, consulte COMO: Compartilhar configuraes entre computadores. O Visual Studio verifica que voc estiver usando a verso mais recente do arquivo.vssettings de grupo sempre que voc iniciar o Visual Studio. Quaisquer alteraes feitas no arquivo.vssettings so aplicadas automaticamente. Para especificar um arquivo.vssettings para uso em um grupo 6. 7. 8. 9. Partir do Tools menu, escolha Options. Na pasta Environment, escolha Import and Export Settings. Selecione Use team settings file. Insira um UNC ou caminho local, ou clique Browse para localizar o arquivo.vssettings de grupo.

10. Clique OK para aplicar as configuraes.

Import and Export Settings Wizard


Use este assistente para exportar configuraes, importar configuraes, ou substituir as configuraes para usar uma coleo configuraes predefinidas. Opo Exportar configuraes de ambiente selecionada Importar configuraes de ambiente selecionada Redefinir todas as configuraes Descrio Salvar um subconjunto ou todas as suas configuraes existentes para que voc pode usar essas configuraes em outro computador. Aplica as configuraes em um arquivo voc tiver recebido. Substitui existentes configuraes com os do arquivo importado. Permite que voc se reverter as configuraes de volta para uma das configuraes predefinidas disponveis com o produto.

Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.

Visual Studio

263

Escolha Configuraes para exportar, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar algumas ou todas as suas configuraes atuais ser exportados para um arquivo para uso em outros computadores. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione para exportar todas as configuraes, ou especificar um sub-set das configuraes por categoria ou item de categoria. Observao Configuraes que podem conter informaes de identificao sobre voc ou seu computador so marcadas com um grfico de aviso. Essas configuraes no so selecionados por padro, mas so automaticamente selecionados se voc escolher All Settings.

Which settings do you want to export?

Nomeie O arquivo de configuraes, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar o nome e local do arquivo que ir conter as configuraes exportadas. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores What do you want to name your settings file? Digite um nome personalizado para as configuraes exportadas. Store my settings file in this directory. Especifica o diretrio padro no qual as configuraes exportadas sero salvos. Clique Browse para especificar uma pasta personalizada.

Salvar configuraes atuais, importar e Assistente para exportao configuraes


Use esta pgina do Assistente para configuraes a importao e exportao para salvar as configuraes ativos antes de importar novas configuraes. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores Yes, save my current settings Selecione esta opo para criar um backup das suas configuraes atuais. Mais tarde voc pode optar por importar essas configuraes para retornar ao estado IDE atual.

Visual Studio

264

Setting file name Store my settings file in this directory

Digite um nome personalizado para as configuraes atuais. Especifica o diretrio padro no qual as configuraes atuais sero salvos. Clique Browse para especificar uma pasta personalizada.

No, just import new settings, overwriting my current settings Selecione esta opo se voc no quiser backup as configuraes atuais. Se voc est importando o arquivo configuraes contm configuraes para itens de categoria voc ter personalizado, as configuraes importadas substituir as alteraes.

Escolha Configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do Assistente para configuraes a importao e exportao para especificar a coleo Configuraes voc pretende importar. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.

Which settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings.

Escolha um coleo de configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do assistente Importar e exportar configuraes para especificar uma coleo configuraes predefinidos ou uma coleo configuraes personalizadas voc deseja importar para uso no IDE. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.

Which collection of settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Para obter mais informaes sobre colees configuraes predefinidas, consulte Configuraes do Visual Studio.

Visual Studio

265

<task> Complete, Import and Export Settings Wizard


Esta pgina do importao e assistente exportar para configuraes exibe informaes sobre a tarefa configuraes concluda com xito ou no e todos os erros que foram encontrados. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. Details Exibe informaes sobre qualquer sucesso ou falhas.

Visual Studio

266

Gerenciar solues, projetos e arquivos


Os tpicos a seguir descrevem tarefas comuns que voc pode executar ao trabalhar com solues e projetos.

Nesta seo
Introduo a solues, projetos, e itens Entender os conceitos de solues, projetos, e itens e as vantagens de usar o Visual Studio para gerenciar seus projetos de desenvolvimento e arquivos. Propriedades de projeto do Visual Studio Discute o Designer de Projeto e como modificar as configuraes do projeto. Solues multi-projeto Trabalhar em mais de um projeto de cada vez em uma instncia do (IDE) o ambiente integrado de desenvolvimento. Projetos autnomos Entender quais projetos so autnomos e quando voc pode trabalhar com eles. Projetos temporrios Entender quais projetos so temporrios e quando voc pode trabalhar com eles. Soluo, Projeto e elementos de interface do usurio de arquivo Referncia para elementos de interface do usurio que permitem que voc configure suas solues, projetos e arquivos.

Introduo ao solues, projetos, e itens


O Visual Studio fornece dois recipientes para ajud-lo com eficincia gerenciar os itens que so exigidos por seu esforo de desenvolvimento, como referncias, conexes de dados, pastas e arquivos. Esses recipientes so chamados solues e projetos. Alm disso, o Visual Studio fornece Solution Folders para organizar projetos relacionados em grupos e executar aes nesses grupos de projetos. O Solution Explorer uma interface para exibir e gerenciar esses recipientes e seus itens associados, parte do o ambiente integrado de desenvolvimento (IDE).
Solues e projetos recipientes:

Solues e projetos contm itens que representam as referncias, conexes de dados, pastas, e arquivos que voc precisa para criar seu aplicativo. Uma soluo pode conter vrios projetos e um projeto normalmente contm vrios itens. Esses recipientes permitem a voc tirar proveito do IDE das seguintes maneiras:

Gerenciar configuraes para a soluo como um todo ou para projetos individuais. Usar o Solution Explorer para manipular detalhes de gerenciamento de arquivos enquanto voc se concentra nos itens que fazem parte do seu esforo de desenvolvimento. Adicionar itens que so teis para vrios projetos na soluo ou para a soluo sem refernciar o item em cada projeto.

Visual Studio

267

Trabalhar em diversos arquivos que so independentes de solues ou projetos.

Conexes de dados arquivos, referncias, itens:

Itens podem ser arquivos e outras partes do seu projeto tais como referncias, conexes de dados, ou pastas. No Solution Explorer, itens podem ser organizados das maneiras a seguir:

Como itens de projetos, que so itens que compem seu projeto, como formulrios, arquivos fonte, e classes dentro de um projeto no Solution Explorer. A organizao e exibio depende do modelo de projeto que voc selecionar bem como das modificaes que voce efetuou. Como itens de soluo para arquivos que so aplicveis a sua soluo como um todo na pasta Solution Items do Solution Explorer. Como arquivos variados para arquivos que no estejam associados a um projeto ou a uma soluo e que podem ser exibidos em uma pasta Miscellaneous Files.

Para informaes mais detalhadas ou para aprender a usar o Solution Explorer, consulte os tpicos a seguir: Para obter mais informaes Solues e projetos Consulte Solues como Containers Projetos como Containers Executar tarefas comuns de gerenciamento de arquivos Gerenciar solues, projetos, e Arquivos HOW TO: criar pastas para solues Explorer soluo Solues multi-Project Itens soluo

Solues e estruturas de diretrio

Solution Explorer no ambiente de desenvolvimento integrados (IDE) Gerenciando mltiplos projetos em uma soluo Itens que so referenciadas por vrios projetos e includos em compilaes da soluo

Elementos da interface de usurio relacionados a uma soluo no IDE Solues, interface de usurio elementos Projetos e solues criados externamente Desenvolvendo e gerenciando scripts Windows Scripting Arquivos variados Windows Script Host

Visual Studio

268

Propriedades de Projeto (Visual Studio)


O projeto o ponto de partida para a criao de aplicativos, componentes e servios em Visual Studio 2005. Ele atua como um recipiente que gerencia o seu cdigo fonte, as conexes de dados e as referncias. Um projeto organizado como parte de uma soluo que pode conter vrios projetos que sejam interdependentes entre si. Os tpicos nesta seo descrevem as diversas tarefas envolvidas na criao e no gerenciamento de projetos Visual Basic, Visual C# e Visual J#.

Gerenciando propriedades de projeto com o designer de projeto


O Project Designer uma interface de usurio conveniente no Visual Studio que permite a voc definir propriedades de projeto, algumas das quais voc tambm pode definir atravs da Janela Properties.

Gerenciando propriedades de aplicativo


As propriedades de aplicativo gerais descrevendo o aplicativo e seu comportamento, tais como tipo de aplicativo, objeto de inicializao, e informaes de assembly, so definidas no painel Application do Project Designer. As seguintes tarefas podem ser realizadas no painel Application.

COMO: especificar informaes de assembly


Propriedades ou atributos de informaes de assembly so usadas para fornecer informaes sobre um assembly ou aplicativo, incluindo uma descrio, informaes de verso, nome da empresa, nome do produto e mais. Essas informaes correspondem aos valores dos atributos assembly globais. Para obter mais informaes sobre atributos assembly, consulte Atributos globais no Visual Basic. Voc especifica informaes assembly na Caixa de dilogo Assembly Information, acessvel a partir da pgina Application do Project Designer.
Para inserir ou editar informaes Assembly

1. 2. 3.

Selecione um projeto no Solution Explorer, em seguida, no menu Project , clique em Properties. Clique na guia Application. Clique no boto Assembly Information para abrir a caixa de dilogo Assembly Information.

Como alterar um nome de conjunto:


A Assembly Name propriedade de um aplicativo determina o nome que ser usado para o aplicativo compilado. Por exemplo, definir a Assembly Name. Para " MyApplication " para um Windows aplicativo resultaria em um arquivo executvel chamado MyApplication.exe Os Assembly Name padres para o projeto nome; ele pode ser alterado na pgina Application da a Project Designer. Observao

Visual Studio

269

Embora o padro Valor de a Assembly Name. o mesmo a Assembly Name e alterando o Assembly Name faz no alterar o nome do projeto como o nome do projeto, os dois so no relacionados; alterar o nome do projeto no altera
Para alterar a propriedade Assembly Name

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na Application Guia. No campo Assembly Name, digite o nome para o seu aplicativo.

COMO: alterar o namespace para um aplicativo


A propriedade Root Namespace define o namespace raiz para todos os arquivos no projeto. Por exemplo, se voc definir o namespace raiz para Projeto1, e voc tiver uma classe Classe1 fora de qualquer namespace em seu cdigo, o seu namespace seria Projeto1.Classe1. Se voc tiver uma Classe2 em um namespace Order no cdigo, seu namespace seria Projeto1.Order.Classe2. Tambm possvel limpar a propriedade Root Namespace, a qual permite que voc especifique manualmente a estrutura do namespace do seu projeto. Para mais informaes, consulte Declarao de namespace.
Para alterar o namespace de um projeto

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Application. No campo Root namespace, insira o nome.

COMO: alterar o tipo de aplicativo


A propriedade Application Type para um projeto determina o tipo de aplicativo a ser criado: Windows Application, Windows Class Library, Windows Service, Command Line Application ou Server Class Library. Diferentes propriedades e opes de projetos esto disponveis dependendo do tipo de aplicativo. O padro Application Type o mesmo que o Project Type escolhido na caixa de dilogo Add Project. A propriedade Application Type pode ser definida na pgina Application do Project Designer.
Para alterar o tipo de aplicativo

1. 2. 3.

Com um projeto selecionado no Solution Explorer, clique em Properties no menu Project . Clique na guia Application. Escolha o tipo desejado na lista suspensa Application Type.

Visual Studio

270

COMO: Alterar o objeto de inicializao para um aplicativo


A propriedade Startup object (Objeto de inicializao) ou Startup form (Formulrio de inicializao) de um projeto define o ponto de entrada a ser chamado quando o aplicativo carregado; geralmente voc define-o para o formulrio principal em seu aplicativo ou para o procedimento Sub Main que deve executado quando o aplicativo iniciado. Esta opo pode ser Startup object ou Startup form dependendo do tipo de projeto. Por exemplo, um aplicativo de console tem uma opo Startup Object que pode ser Sub Main ou Module1. Um aplicativo do Windows tem uma opo Startup Form, que s pode ser Form1. Como bibliotecas de classes no tm um ponto de entrada, sua nica opo para essa propriedade (Vazio). A opo Enable application framework (Habilitar framework de aplicativo) especifica se um projeto de aplicativo do Windows ser iniciado com um procedimento personalizado Sub Main (que voc tenha criado). Se voc ativar a estrutura de aplicativos, seu aplicativo usa o Sub Main padro. Se voc desativar a estrutura de aplicativos, o seu aplicativo utiliza o Sub Main personalizado (e voc deve adicionar cdigo no procedimento Sub Main para o formulrio). Observao Ao usar um procedimento Sub Main personalizado como o objeto Startup (Inicializao), o cdigo nos eventos do aplicativo (Startup, Shutdown, StartupNextInstance e UnhandledException) no executado. Voc pode definir a propriedade Startup object ou Startup form na pgina Application (Aplicativo) do Project Designer (Designer de Projeto).
Para alterar o formulrio ou objeto de inicializao

1. 2. 3.

Com um projeto selecionado no Solution Explorer (Explorer de Soluo), no menu Project (Projeto), clique em Properties (Propriedades). Clique na guia Application. Selecione um objeto de Startup da lista suspensa Startup object ou Startup form.

Para definir o objeto de inicializao para um aplicativo do Windows como Sub Main

1. 2. 3. 4.

Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties. Clique na guia Application. Desmarque a caixa de seleo Enable application framework. Selecione Sub Main na lista suspensa Startup object.

Visual Studio

271

COMO: especifica um cone de aplicativo


A Icon propriedade para um projeto Especifica o arquivo cone (.ico) para o aplicativo compilado que ser exibido no Windows Explorer e na barra de tarefas do Windows. A Icon propriedade pode ser acessado no painel Application da o Project Designer;. Ela contm uma lista dos cones que foram adicionados a um projeto como recursos ou como arquivos de contedo
Para especificar um cone do aplicativo

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu o Project clique Properties. Selecione o Application painel. Selecione um arquivo de cone (.ico) na lista suspensa o Icon.

Para especificar um cone do aplicativo e adicion-la ao seu projeto

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Selecione o Application painel. Selecione <Browse...> na lista Icon suspensa e navegar para a localidade do arquivo de cones que voc deseja. O arquivo cone adicionado ao seu projeto como um arquivo de contedo.

COMO: Ativar estilos visuais


Observao Este tpico se aplica somente para os projetos do Visual Basic. O Windows XP introduziu um novo aspecto de aparncia (look em feel) para a interface de usurio do Windows, com controles que tm cantos arredondados e que alteraram a cor quando voc para o mouse sobre eles. Por padro, aplicativos baseados no Windows criados com Visual Basic automaticamente suportam estilos visuais, tambm conhecidos como Temas do Windows XP. Quando executado em uma plataforma que no d suporte para Temas do Windows XP, o aplicativo volta para o aspecto de aparncia (look and feel) tradicional do Windows. Se voc no deseja que o aplicativo oferea suporte a estilos visuais, voc pode alterar a propriedade na pgina Application do Project Designer. Observao Suporte a estilos visuais do XP pode tambm ser ativado ou desativado atravs de programao atravs do mtodo EnableVisualStyles da classe Application. Para mais informaes, consulte o tpico COMO: Ativar estilos visuais do Windows XP.

Visual Studio

272

Para desativar os estilos visuais do Windows XP

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties. Clique na guia Application. Desmarque a caixa de seleo Enable XP visual styles.

Para ativar os estilos visuais do Windows XP

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties. Clique na guia Application. Marque a caixa de seleo Enable XP visual styles. Observao Estilos visuais so ativados por padro.

COMO: Especificar comportamento de instncias para um aplicativo


Observao Este tpico se aplica somente aos projetos do Visual Basic. Os aplicativos criados com Visual Basic so, por padro, aplicativos de mltiplas instncias; os usurios podem iniciar vrias instncias do aplicativo compilado. Em alguns casos, voc pode impedir os usurios de iniciar vrias instncias do seu aplicativo. Isso pode ser feito marcando a propriedade Make Single Instance Application para o seu projeto, acessvel da pgina Application do Project Designer. Quando a caixa de seleo Make Single Instance Application est marcada, somente uma nica instncia do aplicativo compilado permitida. Se um usurio tentar iniciar uma segunda instncia, o foco deslocado para a instncia que j est sendo executada e o evento StartupNextInstance destacado.
Para criar um aplicativo de instncia nica

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Application. Marque a caixa de seleo Make single instance application.

Para criar um aplicativo de mltiplas instncias

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Application. Desmarque a caixa de seleo Make single instance application.

Visual Studio

273

Observao Por padro, os aplicativos so de mltiplas instncias.

COMO: ativar autenticao de usurio personalizada


Observao Este tpico se aplica somente para os projetos do Visual Basic. Aplicativos baseados no Visual Basic usam autenticao do Windows para identificar o usurio conectado no momento. Essas informaes podem ser recuperadas em tempo de execuo usando o objeto My.User. Para informaes sobre programao com o objeto My.User, consulte Acessando dados do usurio. Em tais casos, defina a Authentication mode. para autenticao Windows. Em algumas situaes, convm escrever seu prprio cdigo para autenticar usurios, ao invs de usar os mtodos de autenticao padro do Windows. Em tais casos, defina a Authentication mode para autenticao Application-defined.
Para ativar a autenticao personalizada (Application-DEFINED)

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Application. Na lista suspensa Authentication mode, selecione a autenticao Application-defined. Voc precisar fornecer seu prprio cdigo de autenticao.

Para usar autenticao do Windows

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Application. Na lista suspensa Authentication mode, selecione autenticao Windows. Isso a configurao padro.

COMO: Especificar o comportamento de desligamento para um aplicativo


Observao Este tpico se aplica somente para os projetos do Visual Basic. A propriedade Shutdown mode (modo de desligamento) para um projeto de Windows Application (aplicativo do Windows) determina o comportamento de

Visual Studio

274

desligamento para o aplicativo. Quando definida como When startup form closes (Quando o formulrio de inicializao fechar, o padro), o aplicativo termina quando o formulrio definido como o Startup object (objeto de inicializao) fechar, mesmo que outros formulrios estejam abertos. Quando definida como When last form closes (Quando o ltimo formulrio fechar), o aplicativo termina quando o ltimo formulrio for fechado ou quando a declarao My.Application.Exit ou End for chamada explicitamente. A propriedade Shutdown mode pode ser definida na pgina Application (Aplicativo) do Project Designer (Designer de projeto).
Para alterar o comportamento de desligamento

1. 2. 3.

Com um projeto selecionado no Solution Explorer (Explorer de Soluo), no menu Project (Projeto), clique em Properties (Propriedades). Clique na guia Application. Na lista suspensa Shutdown mode, escolha When startup form closes ou When last form closes.

Gerenciando referncias
A pgina References do Project Designer usada para exibir, adicionar e remover referncias e namespaces importados para seu projeto. As seguintes tarefas podem ser realizadas na pgina References.

Referenciando Namespaces e Componentes


Referncias de projeto so usadas para acessar as propriedades, os mtodos e os eventos de um objeto definido e aplic-los em seu programa. Os tpicos a seguir contm uma viso geral das referncias no Visual Basic e Visual C# e fornecem instrues sobre como adicionar, remover e gerenciar as referncias existentes.

Referncias de projeto
Para escrever cdigo contra um componente externo, seu projeto deve primeiramente conter uma referncia a ele. Uma referncia pode ser feita aos seguintes tipos de componentes:

Bibliotecas de classes do .NET Framework ou assemblies Componentes COM Outras bibliotecas de classes de projetos na mesma soluo XML Web Services

Para obter mais informaes sobre referncias de XML Web Services, consulte Referncias da Web. Observao do Visual Basic Referncias de projeto so gerenciadas de modo diferente no Visual Studio do que como eram no Visual Basic 6.0. Para mais informaes, consulte Gerenciamento de projeto para usurios do Visual Basic 6.0.

Visual Studio

275

Referncias a componentes compartilhados

Em tempo de execuo, componentes devem estar em um dos dois locais: no caminho de sada do projeto ou no cache global de assemblies (GAC). Se o projeto contiver uma referncia a um objeto que no esteja em um desses locais, a referncia deve ser copiada para o caminho de sada do projeto quando o projeto criado. A propriedade CopyLocal indica se esta cpia precisa ser feita. Se o valor for true, a referncia copiada. Se false, a referncia no copiada. Se voc implantar um aplicativo que contm uma referncia a um componente personalizado que est registrado no GAC, o componente no ser implantado com o aplicativo, independentemente da configurao CopyLocal. Em verses anteriores do Visual Studio, voc poderia definir a propriedade CopyLocal em uma referncia para garantir que o assembly fosse implantado. Agora, voc deve adicionar manualmente o assembly pasta \Bin. Isso coloca todo cdigo personalizado sob exame detalhado, reduzindo o risco de publicar cdigo personalizado com o qual voc no est familiarizado. Por padro, a propriedade CopyLocal est definida como false se o assembly ou componente est no cache global de assemblies ou um componente de estrutura. Caso contrrio, o valor definido como true. Referncias de projeto-a-projeto so sempre definidas como true.
Referncias de projeto-a-projeto

Em uma soluo com vrios projetos, voc pode criar referncias a objetos criados em outro projeto que reside na mesma soluo. Isso cria uma interdependncia que requer uma considerao especial ao criar e executar o aplicativo. Para mais informaes, consulte Como: preparar e gerenciar Builds.

Solucionando problemas de referncias quebradas


Se seu aplicativo tentar usar uma referncia quebrada, um erro de exceo gerado. A incapacidade de localizar o componente referenciado o disparador primrio do erro, mas existem vrias situaes em que uma referncia pode ser considerada quebrada. Essas instncias so mostradas na lista a seguir:

O caminho de referncia do projeto est incorreto ou incompleto. O arquivo sendo referenciado foi excludo. O arquivo sendo referenciado foi renomeado. A conexo de rede ou a autenticao falhou. A referncia a um componente COM que no est instalado no computador.

A seguir esto solues para esses problemas. Observao Arquivos em assemblies so referenciados com caminhos absolutos no arquivo de projeto. Devido a isso, possvel que usurios trabalhando em um ambiente com vrios desenvolvedores sintam a falta de um assembly referenciado no seu ambiente local. Para evitar esses erros, melhor nesses casos adicionar referncias de projeto-a-projeto. Para obter mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio e Programando com assemblies. Caminho de referncia est incorreto

Visual Studio

276

Se projetos so compartilhados em computadores diferentes, algumas referncias podem no ser encontradas quando um componente est localizado em um diretrio diferente em cada computador. Referncias so armazenadas sob o nome do arquivo de componente (por exemplo, MeuComponente). Quando uma referncia adicionada a um projeto, o local da pasta do arquivo de componente (por exemplo, C:\MeusComponentes\) ser acrescentado propriedade de projeto ReferencePath. Quando o projeto aberto, ele tenta localizar esses arquivos de componentes referenciados procurando nos diretrios no caminho de referncia. Se o projeto for aberto em um computador que armazena o componente em um diretrio diferente, como D:\MeusComponentes\, a referncia no poder ser encontrada e um erro aparecer na Lista de Tarefas. Para corrigir este problema, voc pode excluir a referncia quebrada e substitu-la usando a caixa de dilogo Add Reference. Uma outra soluo usar o item Reference Path em pginas de propriedades do projeto e modificar as pastas na lista para apontar para os locais correto. A propriedade ReferencePath mantida para cada usurio em cada computador, assim modificar o seu caminho de referncia no afeta outros usurios do projeto. Dica Referncias de projeto-a-projeto no tm esses problemas. Por esse motivo, use-as em vez de referncias de arquivo, se possvel. Para consertar uma referncia de projeto quebrada corrigindo o caminho de referncia 1. 2. 3. No Solution Explorer, clique com o boto direito do mouse no n do seu projeto e clique em Properties. O Project Designer aparecer. Se voc estiver usando o Visual Basic, selecione a pgina References e clique no boto Reference Paths. Na caixa de dilogo Reference Paths, digite o caminho da pasta que contm o item que voc deseja referenciar no campo Folder, depois clique no boto Add Folder. Se voc estiver usando o Visual C#, selecione a pgina Reference Paths. No campo Folder, digite o caminho da pasta que contm o item que voc deseja refernciar, e depois clique no boto Add Folder. Arquivo referenciado foi excludo possvel que o arquivo sendo referenciado tenha sido excludo e no exista mais na unidade. Para corrigir uma referncia de projeto quebrada a um arquivo que no existe mais no seu disco

Excluir a referncia. Se a referncia existir em outro local no seu computador, leia-a deste local. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Arquivo referenciado foi renomeado

possvel que o arquivo referenciado tenha sido renomeado.

Visual Studio

277

Para corrigir uma referncia quebrada a um arquivo que foi renomeado


Exclua a referncia, e depois adicione uma referncia ao arquivo renomeado. Se a referncia existir em outra local no seu computador, voc precisa l-lo daquele local. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Conexo de rede ou autenticao falhou

Pode haver vrias causas possveis para arquivos inacessveis: uma conexo de rede ou uma autenticao que falhou, por exemplo. Cada causa pode ter meios exclusivos de recuperao; por exemplo, voc pode precisar entrar em contato com o seu administrador local para obter acesso aos recursos necessrios. No entanto, excluir a referncia e corrigir o cdigo que a usa sempre uma opo. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Componente COM no est instalado no computador Se um usurio tiver adicionado uma referncia a um componente COM e um segundo usurio tentar executar o cdigo em um computador que no tenha este componente instalado, o segundo usurio receber um erro de que a referncia est quebrada. Instalar o componente no segundo computador ir corrigir o erro. Para obter mais informaes sobre como usar referncias a componentes COM em seus projetos, consulte Interoperabilidade COM em aplicativos .NET Framework.

COMO: Adicionar ou remover referncias no Visual Studio


Para usar um componente em seu aplicativo, voc precisa adicionar uma referncia a ele. O Visual Studio prov cinco opes na Caixa de dilogo Add Reference:

.NET Lista todos os componentes do .NET Framework disponveis para referncia. COM Lista todos os componentes COM disponveis para referncia. Projects Lista todos os componentes reutilizveis criados em projetos locais. Browse Permite que voc procure por um componente no sistema de arquivos. Recent Contm uma lista de componentes recentemente adicionados a projetos em seu computador.

Por padro, a caixa de dilogo Add References somente lista mdulos (assemblies) que esto na pasta Public Assemblies (Program Files\Microsoft Visual Studio .NET\Common7\IDE\Public Assemblies) ou na Global Assembly Cache (GAC). Para adicionar seus prprios assemblies lista, adicionando um caminho de referncia. Voc tambm pode adicionar referncias da Web na caixa de dilogo Add Web Reference. Para mais informaes, consulte COMO: adicionar e remover referncias da Web. Observao Voc deve evitar adicionar referncias de arquivo a sadas de outro projeto na mesma soluo, porque

Visual Studio

278

isso pode causar erros de compilao. Em vez disso, use a guia Projects da caixa de dilogo Add References para criar referncias project-to-project. Isso torna desenvolvimento em equipe mais fcil, permitindo melhor gerenciamento das bibliotecas de classes criadas em seus projetos. Para mais informaes, consulte Solucionando problemas de referncias quebradas. Observao Se voc implantar/copiar um aplicativo que contm uma referncia a um componente personalizado que registrado no GAC, o componente no ser implantado/copiado com o aplicativo, independentemente da configurao Copy Local. Para mais informaes, consulte Referncias do projeto. Observao O procedimento para definir o caminho de referncia para projetos do Visual C# e do Visual J# ligeiramente diferente. Para mais informaes, consulte COMO: definir o caminho de referncia (C#, J#).
Para adicionar uma referncia

1. 2. 3. 4. 5.

No Solution Explorer, clique duas vezes no n My Project do projeto. No Project Designer, clique na guia References. Clique no boto Add reference para abrir a caixa de dilogo Add References. Na caixa de dilogo Add Reference, selecione a guia indicando o tipo de componente que voc deseja referenciar. No painel superior, selecione o(s) componente(s) que voc deseja referenciar, e clique OK. Dica Voc pode selecionar vrios componentes mantendo pressionada a tecla CTRL, desde que os componentes estejam todos na mesma guia.

Para remover uma referncia

1. 2. 3. 4.

No Solution Explorer, clique duas vezes no n My Project do projeto. No Project Designer, clique na guia References. Na lista References, selecione a referncia que deseja remover. Clique no boto Remove. Dica Voc tambm pode verificar seu projeto procurando referncias no utilizadas e remover todas elas de uma vez. Para mais informaes, consulte COMO: Remover referncias no usadas.

Para definir um caminho de referncia

1. 2.

No Solution Explorer, clique duas vezes no n My Project do projeto. No Project Designer, clique na guia References.

Visual Studio

279

3. 4. 5.

Clique no boto Reference Paths. No campo Folder:, insira o caminho completo para a pasta que contm os componentes. Clique no boto Add Folder e em seguida, clique em OK Observao Somente a pasta especificada ser pesquisada toda vez que a caixa de dilogo Add References for aberta; subpastas no sero pesquisadas. Voc deve adicionar um caminho separado para cada subpasta a ser pesquisada.

COMO: Adicionar ou remover namespaces importados


Importar um namespace permite que voc use elementos deste namespace sem qualificar totalmente o elemento. Por exemplo, se voc desejar acessar o mtodo Create na classe System.Messaging.MessageQueue, voc pode importar o namespace System.Messaging e apenas referenciar o elemento que voc precisa no cdigo como MessageQueue.Create Namespaces importados so gerenciados na pgina References do Project Designer. As importaes que voc especificar na esta caixa de dilogo so passadas diretamente para o compilador (/imports) e aplicadas a todos os arquivos no seu projeto. Usar a declarao Imports para utilizar um namespace em apenas um arquivo de cdigo fonte.
Para adicionar um namespace importado

1. 2. 3.

No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, clique na guia References. Na lista Imported Namespaces, selecione a caixa de seleo para o namespace que voc deseja adicionar. Observao Para ser importado, o namespace deve estar em um componente referenciado. Se o namespace no aparecer na lista, voc precisar adicionar uma referncia para o componente que o contm. Para mais informaes, consulte COMO: Adicionar ou remover referncias no Visual Studio.

Para remover um namespace importado

1. 2. 3.

No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, clique na guia References. Na lista Imported Namespaces, desmarque a caixa de seleo para o namespace que voc deseja remover.

Importaes do usurio

Importaes do usurio permitem que voc importe uma classe especfica de um namespace em vez do namespace inteiro. Por exemplo, seu aplicativo pode ter uma importao do namespace Systems.Diagnostics, mas a nica classe no

Visual Studio

280

namespace em que voc est interessado a classe Debug. Voc pode definir System.Diagnostics.Debug como uma importao de usurio, e remover a importao para System.Diagnostics. Se voc posteriormente mudar de idia e decidir que foi realmente a classe EventLog que voc necessitava, voc pode inserir System.Diagnostics.EventLog como uma importao de usurio e substituir System.Diagnostics.Debug usando a funcionalidade de atualizao. Para adicionar uma importao de usurio 1. 2. 3. No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, clique na guia References. Na caixa de texto abaixo da lista Imported Namespaces, digite o nome completo do namespace que deseja importar, incluindo o espao para o namespace raiz. Clique no boto Add user import para adicionar um namespace lista Imported Namespaces Observao O boto Add user import ser desativado se o namespace corresponde a um j na lista; voc no pode adicionar uma importao duas vezes. Para atualizar uma importao de usurio 1. 2. 3. 4. 5. No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, clique na quia References . Na lista Imported Namespaces, selecione o namespace que voc deseja alterar. Na caixa de texto abaixo da lista Imported Namespaces, digite o nome para o novo namespace. Clique no boto Update user import para atualizar o namespace na lista Imported Namespaces.

4.

COMO: Remover Referncias No Usadas


Para reduzir o tamanho do seu aplicativo, voc pode desejar remover referncias a componentes que so na verdade no so chamados pelo seu cdigo. Isso pode ser feito usando a caixa de dilogo Unused References, acessvel a partir da pgina References do Project Designer
Para remover referncias no utilizados

1. 2.

No Solution Explorer, clique duas vezes com o n My Project do projeto. No Project Designer, clique na guia References. Clique no boto Unused references para abrir a caixa de dilogo Unused References O projeto varrido, e a caixa de dilogo preenchida com uma lista de referncias que no esto sendo referenciadas no seu cdigo.

Visual Studio

281

3.

Na caixa de dilogo Unused References , marque as referncias que deseja remover, e em seguida, clique em Remove. As referncias selecionadas sero removidas do projeto.

COMO: Definir a propriedade Copy Local (Copiar Localmente) de uma referncia


A Propriedade Copy Local (correspondente a CopyLocal) determina se uma referncia copiada para o caminho de bin local. Em tempo de execuo, uma referncia deve existir tanto no Cache Global de Assemblies (GAC) quanto no caminho de sada do projeto. Se essa propriedade definida como True, a referncia copiada para o caminho de sada do projeto em tempo de execuo. Observao Se voc implantar/copiar um aplicativo que contm uma referncia a um componente personalizado que est registrado no GAC, o componente no ser implantado/copiado com o aplicativo, independentemente da configurao Copy Local. Para mais informaes, consulte Referncias de projeto. A propriedade Copy Local est definida na caixa de dilogo Reference Properties, acessvel no painel References do Project Designer.
Para definir a propriedade Copy Local como True

1. 2. 3.

No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, selecione a guia References. Selecione um componente referenciado na lista References. As propriedades associadas a essa referncia aparecem numa lista na janela Properties.

4.

Selecione Copy Local da coluna esquerda, e seguida, clique na seta da coluna direita para alterar o valor para True.

Para definir a propriedade Copy Local como False

1. 2. 3.

No Solution Explorer, clique duas vezes no n My Project para o projeto. No Project Designer, selecione a guia References. Selecione um componente referenciado na lista References As propriedades associadas a essa referncia aparecem numa lista na janela Properties.

4.

Selecione Copy Local da coluna esquerda, e seguida, clique na seta na coluna direita para alterar o valor para False.

Gerenciando propriedades de depurao


As propriedades de depurao que definem o comportamento da depurao, como ao de iniccio, opes de incio, e depurao remota so definidas no painel

Visual Studio

282

Debug do designer de projeto. As seguintes tarefas podem ser realizadas no painel Debug.

Nesta seo
COMO: Alterar a ao de incio para depurao de aplicativo COMO: Definir opes de incio para depurao de aplicativo COMO: Ativar depurao remota COMO: Ativar depurao de cdigo no gerenciado COMO: Ativar depurao de SQL Server

Gerenciando propriedades de compilao


As propriedades de compilao definindo o comportamento do compilador, como avisos do compilador, otimizaes, e constantes de compilao, so definidas no painel Compile do Project Designer. As seguintes tarefas podem ser realizadas no painel Compile.

Nesta seo
COMO: Ativar ou desativar avisos do compilador COMO: Definir otimizaes do compilador COMO: Definir opes do compilador COMO: Alterar o local de compilao de um aplicativo COMO: Gerar documentao XML para um projeto COMO: Especificar eventos de construo COMO: Registrar um componente para interoperabilidade COM COMO: Definir constantes de compilao COMO: Otimizar um aplicativo para um tipo de CPU especfica COMO: Especificar um endereo base para uma DLL COMO: Especificar eventos de construo

Gerenciando Recursos de Aplicativo


Voc pode criar e gerenciar os recursos para o seu projeto usando o Resource Designer ou a pgina Resources do Project Designer. Os tipos de recurso que tm suporte para o Resource Designer incluem strings, imagens, cones, udio e arquivos.

COMO: Adicionar ou remover recursos


Voc pode usar o Designer Resource para adicionar ou editar recursos para o seu projeto. Os tipos de recurso suportados pelo Resource Designer incluem seqncias de caracteres, imagens, cones, udio, e arquivos. Para obter informaes sobre

Visual Studio

283

como Resource Designer mantm recursos e informaes de Designer, consulte Pgina de recursos, Designer de projeto. O Resource Designer uma linguagem neutra e oferece suporte para projetos em todos as linguagens do Visual Studio. Para Visual C# e Visual J#, gera recursos fortemente tipados no namespace padro da pasta de projeto. o Resource Designer Para o Visual Basic, o Resource Designer gera recursos fortemente tipados no namespace padro da pasta de projeto My.Resources. Para informaes sobre como acessar recursos atravs do objeto My.Resources, consulte Acessando recursos de aplicao Observao Os procedimentos para adicionar e remover recursos de seqncia de caracteres diferem dos outros tipos de recurso. Para mais informaes, consulte COMO adicionar ou remover recursos de seqncia de caracteres:. Alm das tarefas listadas abaixo, voc pode adicionar recursos usando arrastar-esoltar para o Resource Designer. Ao soltar, o recurso adicionado categoria recurso apropriada com base na sua extenso de arquivo. Se voc adicionar um recurso manualmente para o projeto (por exemplo, adicionando um arquivo .resx usando o Solution Explorer), os recursos no novo arquivo sero separados dos recursos que voc criou usando a pgina Resource do Project Designer. Se voc clicar duas vezes no novo arquivo .resx, uma janela separada do Resource Designer ser aberta, exibindo contedo do arquivo em uma grade de configuraes. Observe que quando voc adicionar o novo arquivo .resx, lhe ser apresentada uma mensagem perguntando, "Voc deseja ativar a gerao de recurso fortemente tipado para este arquivo?". Clicando Yes fornecer o novo suporte de recurso fortemente tipado, em tempo de compilao que encapsula o acesso aos recursos criando classes que contm um conjunto de propriedades esttica e somente leitura (GET). Isso fornece uma maneira alternativa para consumir recursos, em vez de usar os mtodos GetString e GetObject da classe ResourceManager. Para mais informaes, consulte StronglyTypedResourceBuilder.
Para adicionar um recurso existente

1. 2. 3. 4.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Selecione a guia Resources. Na barra de ferramentas Resource Designer, aponte para Add Resource, clique na seta, em seguida clique em Add Existing File. Na caixa de dilogo Add existing file to resources, navegue at o arquivo que contm o recurso que voc deseja adicionar (.bmp,.ico,.WAV, etc.,), e em seguida, clique em Open. O arquivo ser adicionado ao diretrio de recursos e o Resource Designer abrir o painel Category para o tipo de recurso que voc adicionou.

5.

Para recursos de arquivo, voc pode definir opcionalmente as propriedades Encoding e FileType para o arquivo na janela de propriedades.

Adicionar um novo recurso

1.

Com um projeto selecionado na Solution Explorer, no menu Project , clique em Properties.

Visual Studio

284

2. 3. 4.

Selecione a guia Resources. Na barra de ferramentas Resource Designer, aponte para Add Resource, clique na seta, e clique no tipo de recurso que deseja criar. Na caixa de dilogo Add new resource, digite um nome para o novo recurso, e em seguida, clique em Add O arquivo ser adicionado ao diretrio de recursos, e um editor de recurso ser aberto para o tipo de recurso que voc adicionou.

5.

Para recursos de arquivo, voc pode definir opcionalmente as propriedades Encoding e FileType para o arquivo na janela de propriedades.

Para remover um recurso

1. 2. 3. 4. 5.

Com um projeto selecionado na Solution Explorer, no menu Project , clique emProperties. Selecione a guia Resources. Selecione um tipo de recurso a partir da lista suspensa Categories. Selecione o recurso que voc deseja remover. Na barra de ferramentas Resource Designer, clique em Remove Resource. O recurso ser removido do Resource Designer, mas ele no ser removido da pasta Recursos.

COMO: adicionar ou remover recursos de seqncia de caracteres


Voc pode usar o Resource Designer para adicionar ou editar recursos de seqncia de caracteres para o seu projeto Para obter informaes sobre como o Resource Designer mantm recursos e informaes de Designer, consulte Pgina de recursos, Designer de projeto. O Resource Designer uma linguagem neutra e oferece suporte para projetos em todos os idiomas do Visual Studio. Para Visual C# e Visual J#, o Resource Designer gera recursos fortemente tipado no espao para nome padro da pasta de projeto. Para o Visual Basic, o Resource Designer gera recursos fortemente tipados no espao de nome padro My.Resources para a pasta de projetos. Para informaes sobre como acessar recursos atravs do objeto My.Resources, consulte acessando recursos de aplicao Se voc adicionar um recurso manualmente para o projeto (por exemplo, adicionando arquivo .resx usando Solution Explorer), os recursos no novo arquivo sero separados dos recursos que voc cria usando a pgina Resource do Project Designer. Se voc clicar duas vezes no novo arquivo .resx, ser aberta uma janela Resource Designer separada, exibindo os contedos do arquivo em uma grade configuraes. Observe que quando voc adicionar o novo arquivo .resx, lhe ser apresentada uma mensagem perguntando, " Voc deseja ativar a gerao do recurso fortemente tipado para este arquivo? "Clicar Yes fornecer suporte para o novo recurso fortemente tipado, um recurso em tempo de compilao que encapsula o acesso aos recursos criando classes que contm um conjunto de propriedades esttica e somente leitura (get). Isto fornece uma maneira alternativa para consumir recursos, em vez de usar os mtodos GetString e GetObject da classe ResourceManager. Para mais informaes, consulte StronglyTypedResourceBuilder.

Visual Studio

285

Voc tambm pode adicionar recursos de seqncia de caracteres usando a edio arrastar-e-soltar com o Resource Designer. Ao arrastar e soltar seqncias de caracteres, os campos Name, Value e Comment devem ser separados por tabulaes ou a seqncia inteira ser adicionada coluna Name
Para adicionar um recurso de seqncia de caracteres

1. 2.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guiaResources. Na barra de ferramentas Resource Designer, aponte para a lista suspensa, clique na seta, e certifique-se de que ele esteja definido como Strings (que o padro). Uma grade de configuraes aparecer, exibindo as seqncias de caracteres mantidas por essa instncia do Resource Designer. Clique na coluna Name da ltima linha da grade, que est marcada com um asterisco (*). Na coluna Name, insira um nome para a seqncia de caracteres. Na coluna Value, insira a seqncia de caracteres a ser usada como um recurso. Opcionalmente, digite um comentrio na coluna Comment. Observao Comentrios no so compilados no aplicativo; eles esto disponveis somente em tempo de projeto.

3. 4. 5. 6.

Para remover um recurso de seqncia de caracteres

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project , clique em Properties. Clique na guia Resources. Na barra de ferramentas Resource Designer, aponte para a lista suspensa, clique na seta, e certifique-se de que ele esteja definido como Strings (que o padro). Selecione a linha que contm a seqncia de caracteres que voc deseja remover clicando no cabealho da linha cinza. Na barra de ferramentas Resource Designer, clique em Remove Resource.

4. 5.

COMO: Editar Recursos


Voc pode usar o Resource Designer para adicionar ou editar recursos para o seu projeto. Os tipos de recursos suportados pelo Resource Designer incluem seqncias de caracteres, imagens, cones, udio, e arquivos. Para obter informaes sobre como o Resource Designer mantm os recursos e as informaes de designer, consulte Pgina de recursos, Designer de projeto. O Resource Designer neutro com relao a linguagem e oferece suporte a projetos para todas as linguagens do Visual Studio. Para Visual C# e Visual J#, o Resource Designer gera recursos fortemente tipados no namespace padro da pasta do projeto. Para o Visual Basic, o Resource Designer gera recursos

Visual Studio

286

fortemente tipados no namespace My.Resources. Para informaes sobre como acessar recursos atravs do objeto My.Resources, consulte Acessando Recursos da Aplicao Observao Os procedimentos para recursos de edio de seqncias de caracteres diferem dos outros tipos de recursos. Para mais informaes, consulte COMO: Recursos de Edio de Seqncias de caracteres. Cada tipo de recurso editado usando um editor associado com a extenso de seu arquivo. Por exemplo, o editor padro para imagens bitmap (.bmp) pode ser o Visual Studio Bitmap Editor, mas o editor padro para imagens JPEG (.jpg) pode ser o Windows Paint. Voc pode abrir qualquer arquivo de recursos em um editor diferente usando o comando Open With, e voc pode alterar o editor padro de qualquer tipo de recurso. Para mais informaes, consulte COMO: Associar um editor com um tipo de recurso.
Para editar um recurso usando o editor padro

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties. Clique na guia Resources . Na barra de ferramentas Resource Designer, aponte na lista suspensa de exibio de recursos, clique na seta e selecione o tipo de recurso que voc deseja para editar Clique duas vezes no recurso para abrir o editor padro para aquele tipo de recurso.

4.

Para editar um recurso usando um editor diferente

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties. Clique na guia Resources. Na barra de ferramentas Resource Designer, aponte para a lista suspensa de exibio de recursos, clique na seta e selecione o tipo de recurso que voc deseja para editar Selecione o recurso que deseja editar, clique nele com o boto direito do mouse e escolha Open With a partir do menu de contexto. Na caixa de dilogo Open With, escolha um editor a partir da lista Choose the program you want to use to open this file:. O arquivo de recurso aberto no editor selecionado. Observao O editor deve ser capaz de editar o tipo de recurso selecionado; por exemplo, voc no pode editar um arquivo de bitmap em um editor de texto.

4. 5.

Visual Studio

287

COMO: Editar recursos que so seqncias de caracteres


Voc pode usar o Resource Designer (Designer de recurso) para adicionar ou editar recursos para o seu projeto. Os tipos de recursos suportados pelo Resource Designer incluem seqncias de caracteres, imagens, cones, udio e arquivos. Para obter informaes sobre como o Resource Designer mantm recursos e informaes do designer, consulte Pgina de recursos, Project Designer. O Resource Designer neutro com relao linguagem e oferece suporte a projetos em todas as linguagens do Visual Studio. Para o Visual C# e Visual J#, o Resource Designer gera recursos fortemente tipados no namespace padro da pasta de projeto. Para o Visual Basic, o Resource Designer gera recursos fortemente tipados no namespace My.Resources. Para informaes sobre como acessar recursos atravs do objeto My.Resources, consulte Acessando recursos de aplicativos Voc pode recortar, copiar, e colar recursos que so seqncias de caracteres entre as linhas no editor de seqncias de caracteres, entretanto, voc no pode colar valores individuais ou comentrios. Ao copiar e colar seqncias de caracteres de uma origem externa, os campos Name (Nome), Value (Valor) e Comment (Comentrio) devem ser separados por tabulaes ou a seqncia de caracteres inteira ser adicionadas coluna Name.
Para editar um recurso que uma seqncia de caracteres

1. 2. 3.

Com um projeto selecionado no Solution Explorer (Explorer de Soluo), no menu Project (Projeto), clique em Properties (Propriedades). Selecione a guia Resources (Recursos). Na barra de ferramentas Resource Designer, aponte para o modo recurso suspenso, clique na seta e certifique-se de que ele esteja definido como Strings (seqncias de caracteres, que o padro). Uma grade de configuraes aparecer, exibindo as seqncias de caracteres mantidas por essa instncia do Resource Designer. Selecione a clula na tabela de seqncias de caracteres que voc deseja editar e comece a digitar.

4.

Para copiar recursos que so seqncias de caracteres

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties. Selecione a guia Resources. Na barra de ferramentas Resource Designer, aponte para o modo recurso suspenso, clique na seta, e certifique-se de que ele esteja definido como Strings (seqncias de caracteres, que o padro). Uma grade de configuraes aparecer, exibindo as seqncias de caracteres mantidas no Resources.resx. Selecione a linha que contm o recurso que uma seqncia de caracteres a ser copiado clicando no cabealho da linha cinza. No menu Edit (Editar), clique em Copy (Copiar). No menu Edit, clique em Paste (Colar).

4. 5. 6.

Visual Studio

288

Uma cpia do recurso que uma seqncia de caracteres ser adicionado como uma nova linha na tabela de seqncias de caracteres.

COMO: Associar um editor com um tipo de recurso


Voc pode usar o Resource Designer para adicionar ou editar recursos para o seu projeto. Tipos de recurso suportados pelo Resource Designer incluem seqncias de caracteres, imagens, cones, udio, e arquivos. Para obter informaes sobre como o Resource Designer mantm os recursos e informaes de designer, consulte Pgina de recursos, Designer de projeto. O Resource Designer neutro linguagem e oferece suporte a projetos para todas as linguagens do Visual Studio. Para Visual C# e Visual J#, o Resource Designer gera recursos fortemente tipados no namespace padro da pasta do projeto. Para o Visual Basic, o Resource Designer gera recursos fortemente tipados no namespace My.Resources. Para informaes sobre como acessar recursos atravs do objeto My.Resources, consulte Acessando Recursos da Aplicao Voc pode editar cada tipo de recurso usando um editor padro associado a extenso de seu arquivo. Por exemplo, o editor padro para imagens bitmap (.bmp) pode ser o Visual Studio Resource Editor, mas o editor padro para imagens JPEG (.jpg) pode ser do Windows Paint. Voc pode abrir qualquer arquivo de recurso em um editor diferente usando o comando Open With, e voc pode alterar o editor padro para qualquer tipo de recurso.
Para alterar o editor padro de um tipo de recurso

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties. Clique na guia Resources. Na barra de ferramentas Resource Designer, aponte para a lista suspensa de exibio de recurso, clique na seta e selecione o tipo de recurso que voc deseja editar. Selecione o recurso que deseja editar, clique com o boto direito do mouse e escolha Open With a partir do menu de contexto. Na caixa de dilogo Open With, escolha um editor a partir da lista Choose the program you want to use to open this file:. Clique no boto Set as Default. Observao A configurao de um editor padro para um tipo de arquivo no Resource Designer tambm o define como padro para o Visual Studio. Por exemplo, se voc definir o Bloco de Notas como o editor padro para arquivos.txt, ao clicar duas vezes em um arquivo .txt no Solution Explorer esse arquivo ser aberto no Bloco de notas.

4. 5. 6.

Visual Studio

289

Recursos Vinculados versus Recursos Incorporados


Os projetos Visual Studio fornecem duas opes diferentes para manipular recursos; eles podem ser vinculados (o padro) ou incorporados. Mesmo sendo possvel ter ambos os recursos, vinculados e incorporados, em um nico projeto, na maioria dos casos voc ir querer escolher uma opo para todos os recursos do seu projeto. Os recursos vinculados so armazenados como arquivos dentro do projeto; durante a compilao os dados dos recursos so obtidos dos arquivos e colocado no manifesto do aplicativo. O arquivo de recursos do aplicativo (.resx) armazena somente um caminho relativo ou um link para o arquivo em disco. Com os recursos incorporados, os dado dos recursos so armazenados diretamente no arquivo .resx, em uma representao textual dos dados binrios. Em ambos os casos, os dados dos recursos so compilados no arquivo executvel. Voc pode alterar os recursos de vinculados para incorporados, alterando a propriedade Persistence para o arquivo de recurso. Para mais informaes, consulte HOW TO: Criar Recursos Incorporados. Observao Os recursos string so sempre incorporados e no podem ser alterados; os recursos de arquivo so sempre vinculados e no podem ser alterados.
Escolhendo entre Recursos Incorporados e Recursos Vinculados

Na maioria dos casos, voc deve preferir os recursos vinculados padro. Entretanto, h casos em que os recursos incorporados podem ser uma escolha melhor. Recursos Incorporados Os recursos incorporados so a melhor opo se voc precisa compartilhar arquivos de recurso do aplicativo (.resx) entre vrios projetos. Por exemplo, se voc tiver um arquivo de recurso comum que contm os logotipos de sua empresa, informao de marca, etc., usar recursos incorporados significa que voc tem apenas que copiar o arquivo .resx e no os arquivos de dados de recursos associados. Voc no pode editar os recursos incorporados diretamente. Se voc tentar editar um recurso incorporado, voc receber uma mensagem solicitando que voc converta o item para um recurso vinculado na ordem para edit-lo; a converso recomendada mas opcional. Voc deve export-los, fazer suas modificaes em um programa externo, e depois import-los de volta para seu projeto. Para mais informaes, consulte HOW TO: Importar ou Exportar Recursos. Recursos Vinculados Os recursos vinculados (o padro) so a melhor opo pela facilidade de uso. Os recursos podem ser editados diretamente dentro do projeto, e voc pode facilmente adicionar ou remover recursos conforme o necessrio.

Visual Studio

290

COMO: Criar recursos incorporados


Quando voc adiciona recursos a um projeto do Visual Studio, eles so criados como recursos vinculados. Em alguns casos, convm incorporar os recursos no arquivo de recurso do aplicativo (.resx). Para mais informaes, consulte Recursos vinculados vs. incorporados. Os recursos podem ser alterados de vinculados a recursos incorporados na pgina Resources (Recursos) do Project Designer (Designer de Projeto). Observao Recursos que so seqncias de caracteres so sempre incorporados ao arquivo .resx e no podem ser alterados para recursos vinculados; recursos que so arquivos so sempre vinculados.
Para alterar um recurso de vinculado para incorporado

1. 2. 3.

Com um projeto selecionado no Solution Explorer (Explorer de Soluo), no menu Project (Projeto), clique em Properties (Propriedades). Clique na guia Resources. Na barra de ferramentas Resource Designer (Designer de Recurso), aponte para o modo de exibio de recurso suspenso, clique na seta e selecione o tipo de recurso que voc deseja editar. Selecione o recurso que voc deseja alterar. Na janela Properties, selecione a propriedade Persistence (Persistncia) e altere-a para Embedded in .resx (Incorporado no .resx).

4. 5.

Para alterar um recurso de incorporado para vinculado

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project, clique em Properties. Clique na guia Resources. Na barra de ferramentas Resource Designer, aponte para o modo de exibio de recurso suspenso, clique na seta e selecione o tipo de recurso que voc deseja editar. Selecione o recurso que voc deseja alterar. Na janela Properties, selecione a propriedade Persistence e altere-a para Linked at compile time (Vinculado em tempo de compilao).

4. 5.

COMO: Importar ou exportar recursos


Voc no pode editar recursos incorporados em um projeto do Visual Studio diretamente no IDE do Visual Studio; voc deve export-los e edit-los em um programa externo, e em seguida import-los de volta para o projeto. Observao

Visual Studio

291

Por padro, todos os recursos em um projeto do Visual Studio so criados como recursos vinculados; voc precisa convert-los explicitamente para recursos incorporados. Para mais informaes, consulte Recursos vinculados versus incorporados.
Para exportar um recurso

1. 2. 3.

Com um projeto selecionado na Solution Explorer, no menu Project clique em Properties. Selecione a guia Resources. Na barra de ferramentas do Resource Designer, aponte para a lista suspensa de exibio de recurso, clique na seta e selecione o tipo de recurso que voc deseja editar Selecione o recurso que voc deseja exportar. Clique com o boto direito do mouse e escolha Export To File no menu de contexto. Observao Este comando s estar disponvel para recursos incorporados.

4. 5.

6.

Na caixa de dilogo Export resource to file, procure a localidade para onde voc deseja exportar o arquivo, e clique em Save.

Para importar um recurso

1. 2. 3.

Com um projeto selecionado no Solution Explorer, no menu Project clique em Properties. Selecione a guia Resources. Na barra de ferramentas do Resource Designer, aponte para a lista suspensa de exibio de recurso, clique na seta e selecione o tipo de recurso que voc deseja editar Selecione o recurso que voc deseja importar. Clique com o boto direito do mouse e escolha Import From File no menu de contexto. Observao Este comando s estar disponvel para recursos incorporados.

4. 5.

6.

Na caixa de dilogo Import file into resource, navegue at o arquivo que deseja importar, e em seguida, clique em Open

Gerenciando definies do aplicativo


A pgina Settings do Project Designer usada para especificar configuraes de aplicativo para o seu projeto. As tarefas a seguir podem ser realizadas na pgina Settings:

Visual Studio

292

Configuraes de aplicativo
Configuraes de aplicativos permitem a voc guardar e recuperar configuraes de propriedades e outras informaes da sua aplicao dinamicamente, e elas permitem manter configurao de aplicativos e usurios personalizadas no computador local. Freqentemente so dados (como uma seqncia de endereo de conexo) crticos para executar o aplicativo que voc no deseja incluir diretamente no cdigo do aplicativo. Voc pode querer armazenar duas seqncias de conexo de banco de dados diferentes e recuperar uma deles em tempo de execuo com base na localidade do computador. Ou, pode preferir armazenar as preferncias de cor do usurio para recuper-las na prxima vez que o aplicativo executado. Atente ao fato de que configuraes do aplicativo so um recurso do Microsoft Visual Studio 2005 que substitui o recurso de propriedades dinmicas da verso anterior (para informaes sobre propriedades dinmicas, consulte Configurando aplicativos usando propriedades dinmicas). Cada configurao de aplicativo deve ter um nome exclusivo; o nome pode ser qualquer combinao de letras, nmeros ou um sublinhado; desde que no seja iniciada com um nmero e no contenha espaos. O nome pode ser alterado atravs da propriedade Name. As configuraes do aplicativo podem ser armazenadas como qualquer tipo de dados que seja serializvel em XML ou que tenha um TypeConverter que implementa ToString / FromString. Os tipos mais comuns so String, Integer e Boolean, mas voc tambm pode armazenar valores como Color, Object ou como uma seqncia de conexo. Configuraes do aplicativo tambm contm um valor. O valor definido com a propriedade Value e deve corresponder ao tipo de dados da configurao. Alm disso, configuraes do aplicativo podem ser vinculadas diretamente a uma propriedade de um formulrio ou controle em tempo de projeto. Para mais informaes, consulte COMO: Adicionar ou remover configuraes de aplicativo. H dois tipos de configuraes de aplicativo, com base no escopo:

Configuraes Application-Scoped podem ser usadas para informaes como uma URL para um servio da Web ou uma seqncia de conexo de banco de dados. Esses valores esto associados com o aplicativo, para que os usurios no possam alter-los em tempo de execuo. Configuraes User-Scoped podem ser usadas para informaes como lembrar a ltima posio de um formulrio ou uma preferncia de fonte. Usurios pode alterar esses valores em tempo de execuo.

Voc pode alterar o tipo de uma configurao usando a propriedade Scope. O sistema de projeto armazena as configuraes do aplicativo em dois arquivos XML: um arquivo app.config, que criado em tempo de projeto quando voc cria a primeira configurao de aplicativo; e um arquivo user.config, que criado em tempo de execuo quando o usurio executando o aplicativo altera o valor de qualquer configurao de usurio. Observe que alteraes nas configuraes de usurio no so gravadas em disco a menos que o aplicativo especificamente chame um mtodo para fazer isso.
Criar configuraes de aplicativo em tempo de projeto

Em tempo de projeto, voc pode criar configuraes do aplicativo de duas maneiras: com a pgina Settings do Project Designer ou com a janela

Visual Studio

293

Properties para um formulrio ou controle, permitindo que voc possa vincular uma configurao diretamente a uma propriedade. Para mais informaes, consulte COMO: Adicionar ou remover configuraes de aplicativo. Quando voc cria uma configurao Application-Scoped (por exemplo, uma seqncia de conexo de banco de dados, ou uma referncia a recursos do servidor), o Visual Studio a salvar em app.config com a marca <applicationSettings> (seqncias de conexo so salvas sob a marca <connectionStrings>). Quando voc cria uma configurao User-Scoped (por exemplo, fonte padro, home page ou tamanho da janela), o Visual Studio a salvar em app.config com a marca <userSettings>. Observao de segurana Quando voc armazenar seqncias de conexo em app.config, voc deve tomar precaues para evitar revelar informaes sigilosas, como senhas ou caminhos do servidor, na seqncia de conexo. Se voc recebe informaes da seqncia de conexo de uma origem externa, como um usurio fornecendo uma identificao de usurio e senha, voc deve tomar cuidado para garantir que os valores usados para construir a seqncia de conexo no contm parmetros adicionais que alterem o comportamento da conexo. Considere usar o recurso Protected Configuration para criptografar informaes sigilosas no arquivo de configurao. Consulte Protegendo seqncias de conexo para obter mais informaes. Observao Devido ao fato de no haver nenhum modelo de arquivo de configurao para bibliotecas de classe, configuraes do aplicativo no se aplicam a projetos Class Library. A exceo um projeto Visual Studio Tools for Office DLL, que pode ter um arquivo de configurao.
Acessar ou alterar configuraes de aplicativo em tempo de execuo no Visual Basic

Observao Esta seo se aplica somente a projetos do Visual Basic. Em tempo de execuo, voc pode acessar configuraes de aplicativo usando o objeto My.Settings. Na pgina Settings, clique no boto View code para exibir o arquivo Settings.vb (para obter mais informaes, consulte COMO: acessar Settings Events). Settings.vb define a classe Settings, que permite a voc manipular esses eventos na classe de configuraes: SettingChanging, PropertyChanged., SettingsLoaded e SettingsSaving Observe que a classe Settings no Settings.vb uma classe parcial, mostrando apenas o cdigo user-owned (cujo usurio o proprietrio), no a classe toda gerada. Para obter mais informaes sobre como acessar configuraes de aplicativo usando o objeto My.Settings, consulte Acessando configraes de aplicativo. Os valores de quaisquer configuraes User-Scoped que o usurio altere em tempo de execuo (por exemplo, a posio do um formulrio) so armazenados em um arquivo user.config. Observe que os valores padro ainda so salvos no app.config.

Visual Studio

294

Se voc tiver alterado quaisquer configuraes User-Scoped em tempo de execuo durante testes do aplicativo, por exemplo, e deseja redefinir essas configuraes para seus valores padro, clique no boto Synchronize. Para informaes sobre este controle, consulte Pgina Settings, Project Designer.

COMO: Adicionar ou remover configuraes de aplicativo


As configuraes de aplicativo permitem a voc armazenar e recuperar configuraes de propriedade e outras informaes para seu aplicativo dinamicamente. H dois tipos de configuraes de aplicativo, com base no escopo: configuraes do escopo do usurio e do escopo do aplicativo. Em tempo de design, voc pode adicionar configuraes de aplicativo usando o painel Settings do Project Designer, ou utilizando a janela Properties para um formulrio ou controle, que permite a voc vincular uma configurao diretamente a uma propriedade.
Para adicionar configuraes de aplicativo no Project Designer

1. 2. 3. 4. 5. 6. 7.

Selecione um projeto no Solution Explorer; no menu Project , clique em Properties. Selecione o painel Settings. Clique em uma linha em branco na grade Settings Digite um nome para a configurao na coluna Name. O nome no pode conter espaos. Selecione um tipo de dados para a configurao na lista suspensa Type. Selecione o escopo da configurao na lista suspensa Scope. A configurao do escopo pode ser Application ou User. Insira um valor padro para a configurao na coluna Value. O valor deve ser apropriado para o tipo de dado selecionado.

Para adicionar configuraes de aplicativo na janela Properties

1. 2. 3. 4. 5. 6.

Selecione um formulrio ou controle no Form Designer; no menu View, clique em Properties Window. Na janela Properties, expanda a propriedade (Application Settings) (localizada sob o n Data). Selecione a propriedade (Property Binding) e clique no boto de reticncias (...) para abrir a caixa de dilogo Application Settings. Na caixa de dilogo Application Settings, selecione a propriedade a qual voc deseja adicionar uma configurao de aplicativo. Na lista suspensa para a propriedade, clique em (New...) para abrir a caixa de dilogo New Application Setting. Na caixa de dilogo New Application Setting, selecione a propriedade Name e digite um nome para a configurao. O nome no pode conter espaos. Selecione a propriedade DefaultValue e digite um valor padro para a configurao.

7.

Visual Studio

295

8. 9.

Selecione o escopo da configurao na lista suspensa Scope. A configurao do escopo pode ser Application ou User. Para vincular a nova configurao propriedade, selecione-a na lista suspensa, e em seguida clique em OK. A ligao da propriedade ser adicionada janela Properties, e a nova configurao ser adicionada ao Project Designer. Observe que depois de ter criado a configurao, voc deve usar o Project Designer para alter-la.

Para remover configuraes de aplicativo

1. 2. 3. 4.

Selecione um projeto no Solution Explorer; no menu Project , clique em Properties. Selecione o painel Settings. Na grade Settings, clique na linha da configurao que voc deseja remover. Pressione a tecla Delete ou clique com o boto direito do mouse e selecione Remove Setting. A configurao ser removida do Project Designer. Observao Ser necessrio remover configuraes manualmente do App.config porque o Project Designer no remove quaisquer referncias para configuraes de aplicativo no cdigo ou em seu prprio cdigo.

COMO: Acessar eventos de configurao


Os eventos de configurao permitem que voc escreva o cdigo em resposta s alteraes de escopo do aplicativo ou do usurio. Os eventos de configurao incluem:

O evento SettingChanging disparado antes que o valor de uma configurao seja alterado. O evento PropertyChanged disparado aps o valor de uma configurao ter sido alterado. O evento SettingsLoaded disparado aps os valores de configurao serem carregados. O evento SettingsSaving disparado antes dos valores de configurao serem salvos.

Para informaes sobre como programar usando esses eventos, consulte Acessando configuraes de aplicativo Os eventos de configurao podem ser acessados a partir do painel Settings do Project Designer.
Para acessar eventos de configurao

1. 2.

Selecione um projeto no Solution Explorer, e em seguida, no menu Project , clique em Properties Selecione o painel Settings.

Visual Studio

296

3.

Clique no boto View code para abrir o arquivo Settings.vb ou Settings.cs no editor de cdigos. Esse arquivo define mtodos que manipulam os eventos disparados quando as configuraes de usurio so alteradas, carregadas, ou salvas.

Gerenciando propriedades de projeto C# e J#


Voc pode usar o Project Designer para definir propriedades em projetos Visual C# e Visual J# . Os tpicos nesta seo se aplicam especificamente a projetos Visual C# e Visual J# . Os tpicos de sees relacionadas se aplicam a propriedades de projeto Visual C# e Visual J#, bem como propriedades de projeto Visual Basic.

Como definir propriedades do projeto (C#, J#):


Propriedades de um projeto especificam como um projeto criado e depurado, bem como que bibliotecas ele referencia, como e onde ele publicado, e quaisquer configuraes de segurana a serem usadas. Use o Project Designer para definir as propriedades do projeto. Para mais informaes, consulte Introduo ao Project Designer. Observao As opes disponveis na caixas de dilogo e os nomes e locais de comandos de menu que voc v podem ser diferentes das que so descritas na Ajuda dependendo das suas configuraes ativas ou edio. Esta pgina de Ajuda foi escrita baseada na idia de General Development settings. Para exibir ou alterar suas configuraes, escolha Import and Export Settings no menu Tools. Para mais informaes, consulte Configuraes do Visual Studio.
Definindo propriedades usando o Project Designer

Voc pode exibir as configuraes de propriedades no Project Designer quando voc seleciona o projeto no Solution Explorer. Observao Acesse as propriedades de um arquivo individual na janela Properties. Para definir as propriedades do projeto no Project Designer 1. 2. 3. 4. No Solution Explorer, selecione o projeto. No menu Project, clique em <Project Name> Properties. Selecione o nome da pgina de propriedades a ser alterada ou visualizada. Defina as propriedades.

Observao O Project Designer no possui botes OK ou Cancel. Todas as alteraes de propriedade tero efeito imediato no projeto ativo; entretanto, as configuraes so confirmadas para o arquivo do projeto somente quando voc seleciona uma das opes de salvamento ou quando voc fecha o designer.

Visual Studio

297

Observao Propriedades que esto cinza so definidas em outros painis de propriedades. Elas so exibidas somente para fins informativos. Se voc tiver uma soluo de multiprojeto, voc pode usar mais de uma instncia do Project Designer ao mesmo tempo.

COMO: Definir o Caminho de Referncia (C#, J#)


Quando voc faz referncia a uma assembly em seu projeto, Visual Studio primeiramente procurar a assembly no diretrio do projeto. Se voc usar uma assembly no localizada no diretrio do projeto, voc pode especificar sua localidade na Pgina Project Designer, Reference Path (C#, J#) do Project Designer. Observao O procedimento para definir o caminho de referncia para projetos Visual Basic ligeiramente diferente. Para mais informaes, consulte COMO: Adicionar ou Remover Referncias no Visual Studio. Observao Se a referncia para a assembly no estiver no projeto ou listada no painel Reference Paths do Project Designer, o Visual Studio verifica as pastas exibindo os arquivos na Caixa de Dilogo Add Reference. Voc pode adicionar quantos caminhos de referncia forem necessrios. Observao As opes disponveis nas caixas de dilogo e os nomes e locais de comandos de menu voc v podem ser diferentes dos que so descritos na Ajuda, dependendo da sua edio ou configurao ativa. Esta pgina Ajuda foi escrito com as General Development settings em mente. Para exibir ou alterar as configuraes, escolha Import and Export Settings no menu Tools. Para mais informaes, consulte Configuraes Visual Studio.
Para definir um caminho de referncia

1. 2. 3. 4. 5.

No Solution Explorer, selecione o projeto. No menu Project, clique em <Nome do Projeto> Properties. Clique em Reference Paths. Na caixa de texto Folder, especifique o caminho para a pasta contendo mdulos (assemblies). Para procurar a pasta, clique nas reticncias (). Clique em Add Folder.

Para substituir um caminho de referncia

1.

No Solution Explorer, selecione o projeto.

Visual Studio

298

2. 3. 4. 5. 6.

No menu Project, clique em <Nome do Projeto> Properties. Clique em Reference Paths. Na caixa Reference Path, selecione o caminho para sobrescrever. Na caixa de texto Folder, especifique o caminho para a pasta contendo mdulos (assemblies). Para procurar o caminho, clique nas reticncias (). Clique em Update. O caminho selecionado na caixa Reference Path sobrescrito pelo caminho especificado na caixa de texto Folder.

Para remover um caminho de referncia

1. 2. 3. 4. 5.

No Solution Explorer, selecione o projeto. No menu Project, clique em <Nome do Projeto> Properties. Clique em Reference Paths. Na caixa Reference Path, selecione o caminho para remover. Clique em Remove.

COMO: Definir as Propriedades de Compilao (C#, J#)


Usando o Build Pane e o Build Events Pane do Visual Studio Project Designer, voc pode especificar as configuraes e os eventos de compilao para controlar a configurao de compilao e a compilao do seu projeto. Veja Pgina de Compilao, Project Designer (C#), Pgina de Compilao, Project Designer (J#) e Eventos da Pgina de Compilao, Project Designer (C#, J#) para obter mais informaes. Voc pode definir as opes do compilador, os eventos de pr-compilao e os eventos de ps-compilao a partir do Project Designer. Consulte COMO: Especificar Eventos de Compilao (C#, J#) para obter mais informaes sobre como usar o Project Designer para selecionar os eventos de pr e ps-compilao. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina de Ajuda foi escrita com o General Development settings como base. Para exibir ou alterar as configuraes, escolha Import and Export Settings no menu Tools. Para mais informaes, consulte Configuraes do Visual Studio.
Para acessar e modificar as propriedades de compilao

1. 2. 3. 4.

No Solution Explorer, selecione o projeto para o qual voc deseja especificar o evento de compilao. No menu Project, clique em <Project Name> Properties. Selecione a guia Build. A partir da lista Configuration, especifique a sua configurao: Ativa (Depurao), Depurao ou compilao de Verso Final. Por padro, esta opo definida como Ativa (Depurao).

Visual Studio

299

5.

Defina as propriedades de compilao restantes, incluindo quaisquer configuraes avanadas. Consulte Caixa de Dilogo Advanced Build Settings (C#) ou Caixa de Dilogo Advanced Build Settings (J#) para obter mais informaes.

COMO: Especificar eventos de compilao


Eventos de compilao no Visual Basic podem ser usados para executar scripts, macros ou outras aes como parte do processo de compilao. Eventos pre-build ocorrero antes da compilao; eventos post-build ocorrem aps a compilao. Eventos de compilao so especificado na caixa de dilogo Build Events, acessvel da pgina Compile do Project Designer.
Para especificar eventos de compilao

1. 2. 3. 4.

Com um projeto selecionado no Solution Explorer, clique em Properties no menu Project. Clique na guia Compile. Clique no boto Build Events para abrir a caixa de dilogo Build Events Insira os argumentos de linha de comando para a ao pre-build ou postbuild, e clique OK.

COMO: Adicionar e remover referncias no Visual Studio (C#, J#)


A caixa de dilogo Add Reference pode ser usada para adicionar ou excluir referncias de projeto. Esta caixa de dilogo pode ser acessada a partir do menu Project. Para mais informaes, consulte Caixa de dilogo Add Reference.
Para adicionar uma referncia de projeto

1. 2. 3. 4.

No Solution Explorer, selecione o projeto. No menu Project, escolha Add Reference. A caixa de dilogo Add Reference aberta. Selecione a guia indicando o tipo de componente que voc deseja referenciar. No painel superior, selecione o componente que voc deseja referenciar, e depois clique no boto Select. Pressione e segure a tecla CTRL enquanto clica para selecionar vrios componentes. Dica Se o componente que voc estiver procurando no estiver na lista, voc pode localiz-lo usando o boto Browse.

5.

Clique em OK depois que voc tiver selecionado todos os componentes necessrios. As referncias selecionadas sero exibidas sob o n References do projeto.

Visual Studio

300

Para remover uma referncia de projeto

No Solution Explorer, clique com o boto direito do mouse na referncia sob o n References, e selecione Remove no menu de atalho.

Local e projetos da Web


No h vrios fatores a considerar quando voc decide se usar um local ou modelo do projeto da Web para seu aplicativo. Primeiro, estratgia instalao devem desempenhar um papel no sua deciso geral. Se voc precisar um aplicativo Quick-deploying em um servidor com a configurao do cliente mnima, o modelo de projeto da Web melhor. Voc pode instalar e executar este projeto no servidor sem instalar arquivos de suporte em cada cliente, e fazer atualizaes somente em servidor. Entretanto, para projetos que tm pouca envolvimento servidor ou para aplicativos autnomos, um modelo de projeto local a melhor opo. No nesse cenrio, atualizaes pode ser concluda em cada computador cliente individual. Outro fator a diviso de carga. Quando Analisando estrutura do seu aplicativo, voc precisa considerar a maior do trabalho para onde est indo a ser feito. Projetos da Web oferecem uma estratgia servidor onde a maioria das operaes so conduzidas no servidor. O computador cliente utiliza um navegador da Web para enviar informaes para e exibir informaes do aplicativo do servidor. Se os recursos do servidor esto limitados, considere usando um modelo de projeto local para seu aplicativo. O trabalho pode ser feito no computador cliente sem consumindo hora servidor precious. A tabela a seguir fornece uma comparao lado a lado de projetos da Web e projetos no design e ambientes de trabalho local: Considerao Armazenamento de arquivos durante o desenvolvimento Projeto da Web Os arquivos so armazenados em um URL especificado em um computador com Servios de Informaes da Internet (IIS) instalado. O projeto tambm mantm um cache temporrio de arquivos em computadores cliente para trabalhar off-line. Projeto local Arquivos projeto so armazenados no computador local.

Criar modelo ao desenvolver

Cdigo de aplicativo compilado como uma DLL e Cdigo compilado e executar no servidor. Resultados so visto no executado no computador computador cliente. cliente. O projeto implantado em um servidor Web. Arquivos de projeto so instalados no computador cliente com arquivos de suporte necessrios. O aplicativo executado localmente em o computador cliente.

Mtodo de implantao

Carga de trabalho

Computadores cliente executar o aplicativo remotamente com um navegador da Web. Processamento feito principalmente no servidor.

Visual Studio

301

Atualizar

Alteraes de aplicativo so feitas no nvel do As atualizaes de servidor sem instalao dos arquivos de suporte em aplicativos so instalados computadores clientes. em computadores cliente. O comando Copy Project usado para mover arquivos para o URL especificado. Fisicamente arquivos projeto so copiados de uma localidade para outro.

Movendo arquivos projeto

Propriedades de arquivo
Voc pode usar propriedades de arquivo para indicar quais aes o sistema do projeto deve executar nos arquivos. Por exemplo, voc pode definir propriedades de arquivo para indicar se um arquivo deve ser compilado ou incorporado sada da compilao como um recurso Voc pode selecionar qualquer arquivo no Solution Explorer e depois examinar suas propriedades na janela Properties. Arquivos do Visual Basic e Visual C# tm quatro propriedades: FileName, BuildAction, CustomTool, e CustomToolNamespace. Observao As propriedades BuildAction, CustomTool, e CustomToolNamespace so fornecidas para cenrios avanados. Os valores padro so normalmente suficientes e no precisam ser alterados.
Propriedade FileName

Voc pode renomear um arquivo, clicando na propriedade Propriedade FileName (Extenses para VB e CSharp) na janela Properties e digitando o novo nome. Observe que se voc alterar o nome do arquivo, o Visual Studio automaticamente renomear qualquer arquivo .vb ou .resx associados a ele.
Propriedade BuildAction

A Propriedade BuildAction (Visual Basic e C# ProjectItem Object) indica o que o Visual Studio faz com um arquivo quando uma compilao executada. BuildAction pode ter um dos vrios valores:

None. O arquivo no includo no grupo de sada do projeto e no compilado no processo de compilao. Um exemplo um arquivo texto que contm documentao, como por exemplo um arquivo leiame. Compile. O arquivo compilado para a sada de compilao. Essa configurao utilizada para arquivos de cdigo. Content. O arquivo no compilado, mas includo no grupo de sada de contedo. Por exemplo, essa configurao o valor padro para um arquivo .htm ou outro tipo de arquivo da Web. Embedded Resource. Este arquivo incorporado sada de compilao do projeto principal como uma DLL ou executvel. Ele normalmente usado para arquivos de recurso.

O valor padro para BuildAction depende da extenso do arquivo que voc adicionar soluo. Por exemplo, se voc adicionar um projeto do Visual Basic ao

Visual Studio

302

Solution Explorer, o valor padro para BuildAction Compile, porque a extenso .vb indica um arquivo de cdigo que pode ser compilado. Nomes e extenses de arquivos aparecem no Solution Explorer. Observe que o nome do arquivo no seu projeto no ser o identificador para o recurso gerenciado no manifesto do assembly (consulte Manifesto do assembly para obter mais informaes). O identificador ser namespace.nomearquivo.extenso, onde namespace o valor da propriedade DefaultNamespace em um projeto do Visual C# ou da propriedade RootNamespace em um projeto do Visual Basic. Nomearquivo e extenso permanecem os mesmos que suas designaes originais. Se o arquivo for um arquivo .resx, o sistema do projeto executar resgen.exe no arquivo, criando um arquivo .resource. O arquivo .resource ser incorporado ao assembly, portanto o manifesto do assembly far referncia ao arquivo .resources e no ao arquivo .resx. Por exemplo, se voc adicionar o arquivo MeuArquivo.bmp a um projeto cujo namespace padro MeuProjeto, e definir a ao de compilao como Embedded Resource, MeuProjeto.MeuArquivo.bmp ser o identificador no manifesto do assembly. Se voc depois adicionar o arquivo MeuArquivo.resx ao projeto, a ao de compilao padro ser Embedded Resource, e MeuProjeto.MeuArquivo.resources ser o identificador no manifesto do assembly. Observe que, quando o editor de recursos adiciona uma imagem, ele configura Build Action como None, porque o arquivo .resx referencia o arquivo de imagem. Em tempo de compilao, a imagem colocada no arquivo .resources criado a partir do arquivo .resx. A imagem pode depois ser facilmente acessada atravs da classe fortemente tipada auto-gerada para o arquivo .resx. Portanto, voc no deve alterar esta configurao para Embedded Resource, porque fazer isso dever incluir a imagem duas vezes no assembly. Para obter mais informaes sobre como acessar arquivos de recurso (compilados a partir de arquivos .resx) em tempo de execuo, consulte Classe ResourceManager. Para obter mais informaes sobre como acessar todos os outros arquivos incorporados e recursos em tempo de execuo, consulte Mtodo Assembly.GetManifestResourceStream.
Propriedade CopyToOutputDirectory

Esta propriedade especifica as condies sob as quais o arquivo de origem selecionado ser copiado para a pasta de sada. Selecione Do not copy se o arquivo no deve ser nunca copiado para o diretrio de sada; Copy always se o arquivo deve ser sempre copiado para o direttio de sada; ou Copy if newer se o arquivo deve ser copiado somente quando ele for mais recente que um arquivo existente com o mesmo nome no diretrio de sada. Observao Em projetos de dispositivo inteligente, a renovao de um arquivo .dll ou .exe determinada comparando as verses Win32 da seguinte maneira: Se a verso do lado do dispositivo for menor do que a da rea de trabalho, o arquivo copiado. Se a verso do lado do dispositivo for maior do que a da rea de trabalho, o arquivo no copiado. Se as verses forem iguais, uma comparao de soma de verificao feita. Se as somas de verificao forem iguais, o arquivo no copiado. Se as somas de verificao forem diferentes, o arquivo copiado. A renovao dos arquivos diferentes de .dll e .exe baseada somente em soma de verificao.

Visual Studio

303

Propriedade CustomTool

Ferramentas personalizadas so componentes que podem ser usados para transformar arquivos de um tipo em outro em tempo de design. Por exemplo, uma ferramenta personalizada pode ser um gerador de cdigo de DataSet que l um arquivo de esquema XML (.xsd) como entrada, e gera classes em um arquivo de cdigo que programaticamente expem suas tabelas e colunas. Existe uma lista pr-definida de ferramentas personalizadas disponveis no produto; esta propriedade permite que voc veja qual ferramenta personalizada aplicada a um arquivo. Em raras circunstncias, pode ser necessrio que voc altere o valor dessa propriedade. O valor desta propriedade deve estar em branco ou ser uma das ferramentas personalizadas internas. Para definir ou alterar a ferramenta personalizada, clique na propriedade Propriedade CustomTool (Visual Basic e C# ProjectItem Object) na janela de propriedades e digite o nome de uma ferramenta personalizada.
Propriedade CustomToolNamespace

Se voc tiver uma ferramenta personalizada atribuda ao seu projeto, a propriedade Propriedade CustomToolNamespace (Visual Basic e C# ProjectItem Object) permite que voc especifique o namespace que voc deseja atribuir ao cdigo gerado pela ferramenta personalizada. Quando voc especificar um valor para a propriedade CustomToolNamespace, o cdigo gerado pela ferramenta ser colocado no namespace especificado. Se a propriedade estiver vazia, cdigo gerado ser colocado no namespace padro para a pasta na qual o arquivo convertido reside; para o Visual Basic, este o namespace raiz do projeto, e para o Visual C# isso corresponde configurao da propriedade Propriedade DefaultNamespace (Visual Basic e C# Project Object) para a pasta.

Tipos de arquivos e extenses de arquivos no Visual Basic, Visual C#, e Visual J#


Itens de projeto referem-se aos tipos de arquivos que voc adiciona a um projeto. Os itens de projeto, disponveis para voc, diferenciam-se dependendo se voc estiver trabalhando em um projeto local ou em um projeto da Web. Para obter mais informaes, consulte Projetos locais e da Web e Tour guiado de como se criar sites da Web no Visual Studio.
Adicionando itens de projeto

A caixa dilogo Add New Item acessada atravs do menu Project. Para obter mais informaes sobre como adicionar itens ao seu projeto, consulte COMO: Adicionar novos itens de projeto. As seguintes tabelas listam os itens de projeto disponveis para projetos locais e projetos da Web. Observe que para alguns itens de projeto, a extenso de arquivo diferente, dependendo se o item aparece em um projeto Visual Basic (indicado por .vb), em um projeto Visual C# (indicado por .cs), ou em um projeto Visual J# (indicado por .jsl). Para outros itens de projeto, a extenso de arquivo no faz distino entre um projeto Visual Basic, um projeto Visual C#, e um projeto Visual J#; isto , h apenas uma extenso possvel para o item de projeto.

Visual Studio

304

Itens de projeto locais Extenso de arquivo .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb

Item de projeto Windows Form

Finalidade do item de projeto Um formulrio para criar aplicativos baseados no Windows.

Explorer Form

Um formulrio do Explorer com modo de exibio de rvore e controles de navegao. Um formulrio para um aplicativo de interface de documentos mltiplos. Um formulrio de caixa de dilogo About para aplicativos baseados no Windows Um formulrio de logon para coletar um nome de usurio e senha.

MDI Parent Form

About Box

Login Form

Splash Screen

Um formulrio pr-configurado para ser usado como tela inicial.

Dialog

Um dilogo para aplicativos baseados no Windows.

Class

Um arquivo de cdigo que contm uma declarao de classe. Para mais informaes, consulte Classes no Common Type System. Uma nova interface.

Interface

Module (Visual Basic somente) Component Class

Um arquivo para armazenar grupos de funes.

.vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java .xsd

Uma classe para criar componentes usando o visual designer. Para mais informaes, consulte Classes de componente. Uma classe para criar um controle de Windows Form usando o visual designer. Uma classe para criar servios do Windows. Para mais informaes, consulte COMO: Criar servios do Windows. Um arquivo para criar um esquema XML com classes DataSet. Para mais informaes, consulte Gravando informaes de esquema de DataSet como esquema XML (XSD).

User Control

Windows Service

DataSet

Visual Studio

305

SQL Database XML File

.mdf .xml

Um banco de dados SQL vazio para dados locais. Um arquivo XML em branco. Para mais informaes, consulte Designer de esquema XML (XML Designer). Um arquivo para criar um esquema de documentos XML. Para mais informaes, consulte Introduo a esquemas XML (XML Designer). Um arquivo de configuraes do usurio em branco. Um arquivo de cdigo em branco.

XML Schema

.xsd

Settings File Code File

.settings .vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java

Custom Control

Uma classe para criar um controle de Windows Forms de usurio. Para mais informaes, consulte COMO: Autorar controles para Windows Forms. Uma pgina HTML que pode incluir cdigo do lado do cliente. Para mais informaes, consulte Modo de exibio Design. Um novo formulrio baseado em um formulrio existente. Para mais informaes, consulte Herana visual do Windows Forms. Um novo controle baseado em um controle Windows Forms existente. Para mais informaes, consulte COMO: Herdar de controles Windows Forms existentes. Uma classe para criar um controle de servidor ASP.NET. Para mais informaes, consulte Controles de servidor da Web do ASP.NET (Visual Studio). Uma classe que pode ser exposta ao COM. Para mais informaes, consulte Interoperabilidade COM em aplicativos do .NET Framework. Uma classe para uso com componentes transacionais.

HTML Page

.htm

Inherited Form

.vb ou .cs ou .jsl ou .java .vb ou .cs ou .jsl ou .java

Inherited User Control

Web Custom Control

.vb ou .cs ou .jsl ou .java

COM Class

.vb ou .cs

Transactional Component Arquivo de texto XSLT File Installer Class

.vb ou .cs

.txt .xslt .vb ou .cs ou .jsl ou .java

Um arquivo de texto vazio. Um arquivo usado para transformar documentos XML. Uma classe para ser chamada no momento da instalao. Para mais informaes, consulte Usando componentes de instalao.

Visual Studio

306

Crystal Report

.rpt

Um arquivo Crystal Report que publica dados para um Windows form. Um arquivo de imagem de bitmap em branco que pode ser usado para criar imagens simples. Um arquivo para criar cursores personalizados. Para mais informaes, consulte Criao de cursores. Um arquivo de imagem para criar um cone personalizado. Para mais informaes, consulte cones. Um arquivo usado para editar e definir recursos de aplicativo. Para mais informaes, consulte Recursos em aplicativos. Um arquivo contendo informaes de assembly gerais. Para mais informaes, consulte Assemblies na Common Language Runtime. Um arquivo usado para definir configuraes de aplicativo. Para mais informaes, consulte Arquivos de configurao. Um simples visualizador depurador

Bitmap File

.bmp

Cursor File

.cur

Icon File

.ico

Resources File

.resx

Assembly Information File Application Configuration File Debugger Visualizer Class Diagram Report JScript File

.vb ou .cs ou .jsl .config

.vb ou .cs ou .jsl ou .java .cd .rdlc .js

Um diagrama de classe. Um novo relatrio vazio. Um arquivo de script que contm cdigo JScript. Para mais informaes, consulte Guia de Introduo do JScript. Um arquivo de script que contm cdigo VBScript. Para mais informaes, consulte Guia do Usurio do VBScript. Um arquivo contendo script que executado como um programa do Windows. Para mais informaes, consulte Usando arquivos de script do Windows (.wsf).

VBScript File

.vbs

Windows Script Host

.wsf

Itens de projeto da Web

Extenso de Item de projeto arquivo Web Form

Finalidade do item de projeto

Dois arquivos: .aspx, Um formulrio para criar aplicativos da Web. e .vb para Visual Basic ou .cs para Visual C# ou .jsl

Visual Studio

307

para Visual J# Master Page Web User Control HTML Page .master .ascx Uma pgina mestre para aplicativos da Web. Um controle de servidor do ASP.NET criado usando o visual designer. Uma pgina HTML que pode incluir cdigo do lado do cliente. Para mais informaes, consulte Modo de exibio Design. Um componente que fornece a capacidade de trocar mensagens interoperveis usando protocolos padres, tais como HTTP, XML, XSD, SOAP e WSDL. Para mais informaes, consulte Criando XML Web services em cdigo gerenciado.

.htm

Web Service

Dois arquivos: .asmx, e .vb para Visual Basic ou .cs para Visual C# ou .jsl para Visual J# .vb ou .cs ou .jsl .css

Class Style Sheet

Um arquivo de cdigo que contm uma declarao de classe. Uma folha de estilo em cascata usada para definies de estilo HTML. Para mais informaes, consulte COMO: Criar folhas de estilo em cascata externas (Visual Studio). s vezes chamado de arquivo asax, esse arquivo permite que voc escreva cdigo para manipular eventos globais a nvel de aplicativo do ASP.NET, tais como Session_OnStart e Application_OnStart. O nome do arquivo global.asax, o qual voc no pode alterar. O ASP.NET usa este arquivo para definir as configuraes da Web para um projeto da Web. O nome do arquivo Web.config, o qual voc no pode alterar. Um arquivo XML em branco. Para mais informaes, consulte Designer de esquema XML (XML Designer). Um arquivo para criar um esquema de documentos XML. Para mais informaes, consulte Introduo a esquemas XML (XML Designer). Um arquivo usado para transformar documentos XML. Um arquivo de texto vazio. Um arquivo usado para editar e definir recursos de aplicativo. Para mais informaes, consulte Recursos em aplicativos. Um arquivo contendo informaes de assembly gerais. Para mais informaes, consulte Assemblies na Common Language

Global Application Class

.asax

Web Configuration File XML File

.config

.xml

XML Schema

.xsd

XSLT File Text File Assembly Resource File Assembly

.xslt .txt .resx

.vb ou .cs ou .jsl

Visual Studio

308

Information File SQL Database DataSet .mdf .xsd

Runtime. Um banco de dados SQL vazio para dados locais. Um arquivo para criar um esquema XML com classes DataSet. Para mais informaes, consulte Gravando informaes de esquema de DataSet como esquema XML (XSD). Uma pgina para implementar um manipulador genrico

Generic Handler Site Map Mobile Web Form

.ashx

.sitemap .aspx

Um arquivo usado para criar um mapa do site. Um formulrio para criar aplicativos da Web mveis. Para mais informaes, consulte Criando aplicativos da Web do ASP.NET para dispositivos mveis. Um controle de servidor ASP.NET criado usando o visual designer e usado em um aplicativo da Web para dispositivos mveis. Para mais informaes, consulte Criando aplicativos da Web do ASP.NET para dispositivos mveis. O ASP.NET usa este arquivo para definir as configuraes de um projeto da Web para dispositivos mveis. O nome do arquivo Web.config, o qual voc no pode alterar. Para mais informaes, consulte Criando aplicativos da Web do ASP.NET para dispositivos mveis. Um arquivo Crystal Report que publica dados para um Web Form. Um arquivo de script que contm cdigo VBScript. Para mais informaes, consulte Guia do usurio do VBScript. Um arquivo de script que contm cdigo JScript. Para mais informaes, consulte Guia de Introduo do JScript. Um arquivo de cdigo vazio usado para scripts do Windows. Para mais informaes, consulte Introduo a aplicativos de servio do Windows. Um arquivo usado para definir um tema do ASP.NET. Um arquivo para configurar definies de navegador Um novo relatrio vazio.

Mobile Web User Control

.ascx

Mobile Web Configuration File

.config

Crystal Report

.rpt

VBScript File

.vbs

JScript File

.js

Windows Script .wsf Host

Skin File Browser File Report

.skin .browser .rdlc

Visual Studio

309

Module (Visual Basic somente) Component Class Data Form Wizard Frameset

.vb

Um arquivo para armazenar grupos de funes.

.vb ou .cs

Uma classe para criar componentes usando o visual designer.

.aspx (.vb ou .cs para projetos locais) .htm

Um formulrio de dados para aplicativos da Web.

Um arquivo HTML que hospeda mltiplas pginas HTML. Para mais informaes, consulte Introduo a conjuntos de quadros. Uma classe para criar um controle de servidor do ASP.NET. Para mais informaes, consulte Controles de servidor da Web do ASP.NET (Visual Studio). Um arquivo de cdigo em branco. Um arquivo opcional que atua como um mecanismo de descoberta para o XML Web service. O arquivo .disco no criado automaticamente para um XML Web service. Para informaes como criar um arquivo de descoberta para seu XML Web service, consulte COMO: Ativar descoberta para XML Web services. Uma classe para ser chamada no momento da instalao. Para mais informaes, consulte Usando componentes de instalao. Um arquivo de imagem de bitmap em branco que pode ser usado para criar imagens simples. Um arquivo para criar cursores personalizados. Para mais informaes, consulte Criao de cursores. Um arquivo de imagem para criar um cone personalizado. Para mais informaes, consulte cones.

Web Custom Control

.vb ou .cs ou .jsl

Code File Static Discovery File

.vb ou .cs ou .jsl .disco

Installer Class

.vb ou .cs ou .jsl

Bitmap File

.bmp

Cursor File

.cur

Icon File

.ico

Modelos de projeto padro no Visual Studio


Quando voc criar um novo projeto, cones nas caixas de dilogo New Project e Add Project representam os tipos de projeto disponveis e seus modelos. O modelo de projeto que est associado ao cone de projeto de sua escolha determina o tipo de sada e outras opes disponveis para o projeto. A tabela a seguir lista os tipos padro de projetos disponveis no Visual Studio. Modelo de Usado para criar

Visual Studio

310

projeto Modelo Biblioteca de classe Classes reutilizveis ou componentes que podem ser compartilhados com outros projetos. Esse tipo de projeto considerado sem janelas e no conter uma classe de formulrios Windows. Para mais informaes, consulte Classes de componentes. Aplicativo de linha de comando.

Modelo de Aplicao de console

Modelo do Projeto Um projeto vazio. O modelo cria a estrutura de arquivo necessrio para armazenar vazio informaes de aplicativo; quaisquer referncias, arquivos, ou componentes devem ser adicionados manualmente. Modelo de Biblioteca de controle da Web Controle personalizado que pode ser usado em pginas de formuliros Web. Observao Visual Basic Esse tipo de projeto parecido com o projeto ActiveX Control no Visual Basic 6.0.

Modelo de aplicativos do Windows

Aplicativo Windows autnomos tradicional ou um rico front-end para aplicativo Web distribudo. Para mais informaes, consulte Criando aplicativos Windows. Observao Visual Basic Isso substitui o modelo de projeto Standard EXE no Visual Basic 6.0.

Modelo de Biblioteca de controle do Windows Modelo de servio do Windows

Controle personalizado para usar em formulrios Windows. Para mais informaes, consulte Controle de criao de formulrios do Windows.

Interface de aplicativos que executam por muito tempo e no tm uma interface de usurio. Windows Service Applications (anteriormente chamadas " NT services") podem monitorar itens como o desempenho do sistema. Para mais informaes, consulte Introduo aos aplicativos de servio do Windows.

COMO: Restaurao de modelos de projeto padro


Se voc acidentalmente excluir os modelos de projeto padro que so includos com o Visual Studio, voc pode usar este procedimento para restaur-los sem reinstalar o Visual Studio.

Visual Studio

311

Para restaurar os modelos de projeto padro

1.

Na linha de comando, navegue para a localidade onde est o devenv.exe. Este arquivo est localizado em <Visual Studio Installation Path>\Common7\IDE. Digite "devenv /installvstemplates" e pressione ENTER. Observao Se voc estiver usando um Visual Studio Express Edition, digite "<ExpressName>Express /installvstemplates", onde <ExpressName> VJS, VB ou VCS para Visual J#, Visual Basic e Visual C#, respectivamente.

2.

3.

Se esse procedimento no restaurar os modelos padro, reinstale o Visual Studio.

Modelo Class Library


Voc pode usar o modelo Class Library para criar rapidamente, classes e componentes reutilizveis que podem ser compartilhados com outros projetos. Para obter mais informaes sobre como criar classes de componentes, consulte Component Classes. O modelo adiciona automaticamente arquivos e referncias ao projeto essencial.

Modelo de aplicativo de console


O modelo de projeto Console Application adiciona os itens necessrios para criar um aplicativo de console. Aplicativos de console so normalmente criados sem uma interface grfica do usurio e so compilados em um arquivo executvel autnomo. Um aplicativo de console executado a partir da linha de comando com informaes de entrada e sada sendo trocadas entre o prompt de comando e o aplicativo em execuo. As informaes podem ser escritas e lidas da janela do console, tornando o aplicativo de console uma excelente maneira para se aprender novas tcnicas de programao sem precisar se preocupar com a interface do usurio. O modelo adiciona automaticamente as referncias de projeto essenciais e arquivos para serem usados como um ponto de partida para o seu aplicativo.

Modelo Empty Project


O modelo Empty Project pode ser usado quando voc desejar criar seu prprio tipo de projeto. O modelo cria a estrutura de arquivos necessria para armazenar as informaes do aplicativo. As referncias, arquivos ou componentes devem ser adicionados manualmente. Para obter mais informaes sobre como adicionar referncias, consulte Adicionando e removendo referncias.

Visual Studio

312

Modelo de biblioteca de controles da Web


Voc pode usar o modelo de projeto Web Control Library para criar controles de servidor Web personalizados. O modelo adiciona os itens de projeto necessrios para comear a criar um controle que pode ser adicionado a qualquer projeto da Web. Para mais informaes, consulte Viso geral de controles de servidor Web do ASP.NET. O modelo adiciona automaticamente as referncias de projeto essenciais e arquivos para serem usados como um ponto de partida para seu aplicativo.

Modelo de Aplicativo Windows


O modelo de projeto do Aplicativo Windows em Visual Basic, Visual C# e Visual J# representa a base para um aplicativo Windows padro. Para obter mais informaes sobre como criar um aplicativo Windows, consulte Criando um Projeto de Aplicativo Windows. O modelo adiciona automaticamente as referncias e arquivos essenciais do projeto para usar como ponto de partida para o seu aplicativo.

Modelo de Controle de Biblioteca do Windows


O modelo do projeto de controle de Biblioteca do Windows usado para criar controles personalizados para usar em formulrios Windows. Para mais informaes, consulte Controles de formulrios do Windows. O modelo automaticamente adiciona as referncias essenciais e arquivos do projeto para usar como um ponto de partida para seu aplicativo.

Modelo de Servio do Windows


O modelo de servio do Windows adiciona os itens necessrios para criar um aplicativo de servio do Windows, um aplicativo executvel demorado que executa em sua prpria sesso do Windows. Para mais informaes, consulte Introduo aos aplicativos de servio do Windows. O modelo adiciona automaticamente as referncias e arquivos essenciais para o projeto usar como um ponto de partida para seu aplicativo.

Referenciando Namespaces e Componentes


Referncias de projeto so usadas para acessar as propriedades, os mtodos e os eventos de um objeto definido e aplic-los em seu programa. Os tpicos a seguir contm uma viso geral das referncias no Visual Basic e Visual C# e fornecem instrues sobre como adicionar, remover e gerenciar as referncias existentes.

Visual Studio

313

Referncias de projeto
Para escrever cdigo contra um componente externo, seu projeto deve primeiramente conter uma referncia a ele. Uma referncia pode ser feita aos seguintes tipos de componentes:

Bibliotecas de classes do .NET Framework ou assemblies Componentes COM Outras bibliotecas de classes de projetos na mesma soluo XML Web Services

Para obter mais informaes sobre referncias de XML Web Services, consulte Referncias da Web. Observao do Visual Basic Referncias de projeto so gerenciadas de modo diferente no Visual Studio do que como eram no Visual Basic 6.0. Para mais informaes, consulte Gerenciamento de projeto para usurios do Visual Basic 6.0.
Referncias a componentes compartilhados

Em tempo de execuo, componentes devem estar em um dos dois locais: no caminho de sada do projeto ou no cache global de assemblies (GAC). Se o projeto contiver uma referncia a um objeto que no esteja em um desses locais, a referncia deve ser copiada para o caminho de sada do projeto quando o projeto criado. A propriedade CopyLocal indica se esta cpia precisa ser feita. Se o valor for true, a referncia copiada. Se false, a referncia no copiada. Se voc implantar um aplicativo que contm uma referncia a um componente personalizado que est registrado no GAC, o componente no ser implantado com o aplicativo, independentemente da configurao CopyLocal. Em verses anteriores do Visual Studio, voc poderia definir a propriedade CopyLocal em uma referncia para garantir que o assembly fosse implantado. Agora, voc deve adicionar manualmente o assembly pasta \Bin. Isso coloca todo cdigo personalizado sob exame detalhado, reduzindo o risco de publicar cdigo personalizado com o qual voc no est familiarizado. Por padro, a propriedade CopyLocal est definida como false se o assembly ou componente est no cache global de assemblies ou um componente de estrutura. Caso contrrio, o valor definido como true. Referncias de projeto-a-projeto so sempre definidas como true.
Referncias de projeto-a-projeto

Em uma soluo com vrios projetos, voc pode criar referncias a objetos criados em outro projeto que reside na mesma soluo. Isso cria uma interdependncia que requer uma considerao especial ao criar e executar o aplicativo. Para mais informaes, consulte Como: preparar e gerenciar Builds.

Solucionando problemas de referncias quebradas


Se seu aplicativo tentar usar uma referncia quebrada, um erro de exceo gerado. A incapacidade de localizar o componente referenciado o disparador

Visual Studio

314

primrio do erro, mas existem vrias situaes em que uma referncia pode ser considerada quebrada. Essas instncias so mostradas na lista a seguir:

O caminho de referncia do projeto est incorreto ou incompleto. O arquivo sendo referenciado foi excludo. O arquivo sendo referenciado foi renomeado. A conexo de rede ou a autenticao falhou. A referncia a um componente COM que no est instalado no computador.

A seguir esto solues para esses problemas. Observao Arquivos em assemblies so referenciados com caminhos absolutos no arquivo de projeto. Devido a isso, possvel que usurios trabalhando em um ambiente com vrios desenvolvedores sintam a falta de um assembly referenciado no seu ambiente local. Para evitar esses erros, melhor nesses casos adicionar referncias de projeto-a-projeto. Para obter mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio e Programando com assemblies. Caminho de referncia est incorreto Se projetos so compartilhados em computadores diferentes, algumas referncias podem no ser encontradas quando um componente est localizado em um diretrio diferente em cada computador. Referncias so armazenadas sob o nome do arquivo de componente (por exemplo, MeuComponente). Quando uma referncia adicionada a um projeto, o local da pasta do arquivo de componente (por exemplo, C:\MeusComponentes\) ser acrescentado propriedade de projeto ReferencePath. Quando o projeto aberto, ele tenta localizar esses arquivos de componentes referenciados procurando nos diretrios no caminho de referncia. Se o projeto for aberto em um computador que armazena o componente em um diretrio diferente, como D:\MeusComponentes\, a referncia no poder ser encontrada e um erro aparecer na Lista de Tarefas. Para corrigir este problema, voc pode excluir a referncia quebrada e substitu-la usando a caixa de dilogo Add Reference. Uma outra soluo usar o item Reference Path em pginas de propriedades do projeto e modificar as pastas na lista para apontar para os locais correto. A propriedade ReferencePath mantida para cada usurio em cada computador, assim modificar o seu caminho de referncia no afeta outros usurios do projeto. Dica Referncias de projeto-a-projeto no tm esses problemas. Por esse motivo, use-as em vez de referncias de arquivo, se possvel. Para consertar uma referncia de projeto quebrada corrigindo o caminho de referncia 1. 2. No Solution Explorer, clique com o boto direito do mouse no n do seu projeto e clique em Properties. O Project Designer aparecer.

Visual Studio

315

3.

Se voc estiver usando o Visual Basic, selecione a pgina References e clique no boto Reference Paths. Na caixa de dilogo Reference Paths, digite o caminho da pasta que contm o item que voc deseja referenciar no campo Folder, depois clique no boto Add Folder. Se voc estiver usando o Visual C#, selecione a pgina Reference Paths. No campo Folder, digite o caminho da pasta que contm o item que voc deseja refernciar, e depois clique no boto Add Folder.

Arquivo referenciado foi excludo possvel que o arquivo sendo referenciado tenha sido excludo e no exista mais na unidade. Para corrigir uma referncia de projeto quebrada a um arquivo que no existe mais no seu disco

Excluir a referncia. Se a referncia existir em outro local no seu computador, leia-a deste local. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Arquivo referenciado foi renomeado

possvel que o arquivo referenciado tenha sido renomeado. Para corrigir uma referncia quebrada a um arquivo que foi renomeado

Exclua a referncia, e depois adicione uma referncia ao arquivo renomeado. Se a referncia existir em outra local no seu computador, voc precisa l-lo daquele local. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Conexo de rede ou autenticao falhou

Pode haver vrias causas possveis para arquivos inacessveis: uma conexo de rede ou uma autenticao que falhou, por exemplo. Cada causa pode ter meios exclusivos de recuperao; por exemplo, voc pode precisar entrar em contato com o seu administrador local para obter acesso aos recursos necessrios. No entanto, excluir a referncia e corrigir o cdigo que a usa sempre uma opo. Para mais informaes, consulte Como: adicionar ou remover referncias no Visual Studio. Componente COM no est instalado no computador Se um usurio tiver adicionado uma referncia a um componente COM e um segundo usurio tentar executar o cdigo em um computador que no tenha este componente instalado, o segundo usurio receber um erro de que a referncia est quebrada. Instalar o componente no segundo computador ir corrigir o erro. Para obter mais informaes sobre como usar referncias a componentes COM em seus projetos, consulte Interoperabilidade COM em aplicativos .NET Framework.

Convenes de nomenclatura para arquivo de recurso


Esta seo descreve as convenes de nomeao para recursos manifesto de assembly em projetos do Visual Basic e Visual C#.

Visual Studio

316

Recursos XML
Um arquivo de recursos XML um arquivo cuja extenso .resx e cuja propriedade BuildAction est definida como Embedded Resource. Esses arquivos XML devem seguir um esquema especfico compreendido pela ferramenta de converso ResXToResources. Com esta ferramenta, arquivos de recursos XML so transformados em BLOBs antes da incluso no manifesto do assembly. A seguir, a conveno de nomeao de arquivo para esses recursos: nomearquivo_base[.string info cultura opcional RFC 1766].resx Alm das limitaes do sistema de arquivos, no h restries sobre base_filename ou a string info cultura opcional RFC 1766. Exemplos de nomes de arquivo de recursos XML vlidos incluem:

MyResource.resx MyResource.de-de.resx My.Resource.File.resx

Recursos no-XML
Um arquivo de recursos no-XML qualquer arquivo cuja propriedade BuildAction EmbeddedResource e cuja extenso algo diferente de .resx. Todos esses arquivos de recursos seguem a mesma conveno de nome, independentemente se eles so arquivos dependentes. A nomeao para esses arquivos a seguinte: base_filename+[.optional RFC 1766 culture info string].extension Alm das limitaes do sistema de arquivos, no existem restries em base_filename, optional RFC 1766 culture info string, ou extension.

Configurando aplicativos usando propriedades dinmicas


Observao A interface de usurio para propriedades dinmicas foi removida do Visual Studio 2005. As propriedades dinmicas no entanto, ainda so suportadas. Se voc importar um projeto de uma verso anterior do Visual Studio, as configuraes de propriedades dinmicas sero preservadas no cdigo e funcionaro em tempo de execuo. recomendvel que voc em vez disso use o Project Designer para especificar configuraes de aplicativo. Para obter mais informaes, consulte Pgina de configuraes, designer de projeto e Gerenciando definies de aplicativo. Com propriedades dinmicas voc pode armazenar alguns dos valores de propriedade do aplicativo em um arquivo externo e carreg-los quando o aplicativo executado. Isso permite a voc fazer alteraes nos valores de propriedade sem recompilar o aplicativo, aps o projeto ter sido implantado.

Introduo a propriedades dinmicas (Visual Studio)


Observao

Visual Studio

317

A interface do usurio para propriedades dinmicas foi removida do Visual Studio 2005. Porm propriedades dinmicas ainda recebem suporte. Se voc importar um projeto de uma verso anterior do Visual Studio, as configuraes de propriedades dinmicas sero preservadas no cdigo e iro funcionar em tempo de execuo. recomendvel que voc em vez disso use o Project Designer para especificar configuraes de aplicativo. Para obter mais informaes, consulte Pgina de configuraes, Project Designer e Gerenciando configuraes de aplicativo. Propriedades dinmicas permitem que voc configure seu aplicativo de maneira que alguns ou todos os seus valores de propriedades sejam armazenados em um arquivo de configurao externo em vez de ser armazenados no cdigo compilado do aplicativo. Ao fornecer aos administradores os meios para atualizar valores de propriedades que podem precisar ser alterados ao longo do tempo, isto pode reduzir o custo total de se manter um aplicativo aps ele ter sido implantado. Por exemplo, suponha que voc esteja criando um aplicativo que usa um banco de dados de teste durante o processo de desenvolvimento, e voc precise altern-lo para um banco de dados de produo ao implant-lo. Se voc armazenar os valores de propriedades dentro do aplicativo, voc tem que alterar todas as configuraes de banco de dados manualmente antes de implantar, e depois recompilar o cdigo fonte. Se voc armazenar esses valores externamente, voc pode fazer uma nica alterao no arquivo externo e o aplicativo ir pegar os novos valores na prxima vez em que ele for executado. Observao de segurana Valores de propriedades armazenados em um arquivo de configurao no so seguros. Dados confidenciais como senhas e informaes de carto de crdito no devem ser armazenados como propriedades dinmicas. Voc pode usar propriedades dinmicas em qualquer aplicativo que seja compilado em um arquivo .exe. Projetos que compilam uma DLL no podem usar propriedades dinmicas diretamente; entretanto propriedades de DLL podem ser definidas dinamicamente pelo .exe que est referenciando o arquivo .dll. Embora as propriedades de qualquer componente, formulrio ou controle nestes aplicativos possam ser tratadas dinamicamente, algumas propriedades so melhores candidatas a propriedade dinmica que outras. Freqntemente, voc ir armazenar e recuperar propriedades que se conectam a recursos externos que podem se alterar, incluindo bancos de dados, logs de eventos, ou contadores de desempenho. Muitas dessas propriedades so identificadas como candidatas padro a propriedade dinmica. Observao O cdigo de exemplo neste tpico depende da existncia de um objeto SqlConnection e um arquivo de configurao; ele causar erros de compilao sem eles. Para obter mais informaes como criar um arquivo de configurao, consulte Explicao passo a passo: armazenando e recuperando propriedades dinmicas.
Propriedades dinmicas e arquivos de configurao

Ao definir uma propriedade como configurvel, o seu valor gravado em um arquivo de configurao e cdigo inserido na classe para indicar que o valor da propriedade deve ser recuperado a partir deste recurso externo. O arquivo de

Visual Studio

318

configurao varia de acordo com o tipo de aplicativo; aplicativos baseados na Web usam o arquivo Web.config, e aplicativos baseados no Windows usam um arquivo semelhante com extenso .config. Todos os formulrios e componentes em um aplicativo usam um nico arquivo de configurao. Voc no pode alternar para um arquivo de configurao diferente ou usar vrios arquivos dentro de um nico aplicativo. Dentro do arquivo de configurao, as propriedades so mantidas usando XML. Por exemplo, suponha que voc indicou que a propriedade ConnectionString para uma conexo de dados deve ser armazenada no arquivo de configurao. Voc poder ver este cdigo no editor de cdigo, indicando que o valor armazenado externamente: C#
this.sqlConnection1.ConnectionString = System.Configuration.ConfigurationManager. AppSettings.Get("SqlConnection1.ConnectionString");

Observao de segurana Para obter mais informaes sobre como criar conexes de dados seguras, consulte Tornando seguras seqncias de conexo. No arquivo de configurao, o valor dessa propriedade seria armazenado via XML, usando a chave indicada no cdigo do formulrio:
<configuration> <appSettings> <add key="sqlConnection1.ConnectionString" value="data source=myserver;initial catalog=Apps;Integrated Security=SSPI;packet size=4096" /> </appSettings> </configuration>

Para cada valor no arquivo de configurao atribuda uma chave que usada para armazenar e recuperar o valor. A parte inicial da chave indica o componente do qual originou-se o valor. Por exemplo, essas duas chaves indicam uma propriedade ConnectionString de duas conexes de dados dentro de um nico aplicativo:
<configuration> <appSettings> <add key="sqlConnection1.ConnectionString" value="data source=myserver;initial catalog=Apps;Integrated Security=SSPI;packet size=4096" /> <add key="sqlConnection2.ConnectionString" value="data source=myserver;initial catalog=Apps;Integrated Security=SSPI;packet size=4096" /> </appSettings> </configuration>

Voc pode modificar o arquivo de configurao diretamente de maneira a atualizar dinamicamente os valores de propriedades em seu aplicativo. Na prxima vez em que o aplicativo for iniciado, ele ir atualizar os valores. De uma certa maneira, arquivos de configurao so semelhantes a arquivos de recurso; ambos so usados para armazenar valores fora do aplicativo compilado e ambos usam XML para armazenar suas informaes. No entanto, arquivos de

Visual Studio

319

recurso servem para uma finalidade totalmente diferente do que arquivos de configurao. Arquivos de recurso so usados para armazenar seqncias e outros recursos localizveis para fins de traduo, enquanto arquivos de configurao (no caso de propriedades dinmicas) so usados para atualizar valores de propriedades. Os valores em um arquivo de recurso so destinados a serem traduzidos, mas tipicamente no so alterados, enquanto valores de propriedades dinmicas em um arquivo de configurao podem ser alterados conforme necessrio. Alm disso, voc pode associar vrios arquivos de recurso a um projeto, mas voc s pode ter um nico arquivo de configurao para o aplicativo. Para obter mais informaes sobre arquivos de recurso, consulte Organizao hierrquica de recursos para localizao.
Definindo propriedades mltiplas para a mesma chave

Propriedades mltiplas podem referenciar o mesmo par chave-valor em um arquivo de configurao. Por exemplo, se voc tiver trs componentes em sua classe que acessem o mesmo banco de dados, voc pode armazenar a propriedade ConnectionString para cada um no mesmo par chave-valor. Isso significa que se o banco de dados for alterado, voc pode atualizar um nico valor no arquivo de configurao para aplicar a alterao a todos os trs componentes. Voc faria isso definindo cada uma das propriedades como a mesma chave, assim: C#
this.sqlConnection1.ConnectionString = System.Configuration.ConfigurationManager. AppSettings.Get("SqlConnection1.ConnectionString"); this.sqlConnection2.ConnectionString = System.Configuration.ConfigurationManager. AppSettings.Get("SqlConnection1.ConnectionString"); this.sqlConnection3.ConnectionString = System.Configuration.ConfigurationManager. AppSettings.Get("SqlConnection1.ConnectionString");

Observe que, enquanto os componentes em uso diferem, todos eles referem-se chave para sqlConnection1.ConnectionString. Quando voc escolhe a mesma chave para propriedades mltiplas, somente uma entrada feita no arquivo de configurao. O valor inicial armazenado o mesmo da primeira propriedade para a qual foi fornecida essa chave.
Tipos de dados e propriedades dinmicas

XML armazena tudo como uma seqncia de caracteres. Se o valor da propriedade que voc est armazenando no uma seqncia de caracteres, voc ir ver informaes adicionais no editor de cdigo para indicar o tipo de dado para o valor da propriedade. Por exemplo, suponha que voc esteja armazenando dinamicamente o valor das propriedades Interval e Enabled de um componente Timer. No arquivo de configurao, essa propriedade seria armazenada assim:
<appSettings> <add key=timer1.Interval" value="100" /> <add key=timer1.Enabled" value="True" /> </appSettings>

No editor de cdigo, voc dever ver este cdigo para indicar que o valor recuperado precisa ser alterado para um Tipo de dados Double (Visual Basic): C#

Visual Studio

320

this.timer1.Enabled = (bool)(new System.Configuration. AppSettingsReader().GetValue("timer1.Enabled", typeof(bool))); this.timer1.Interval = (System.Double)(new System.Configuration. AppSettingsReader().GetValue("timer1.Interval", typeof(System.Double)));

Observao Existem dois timers, um para Windows Forms e outro para aplicativos baseados em servidor, com pequenas diferenas nos modelos de programao. Este exemplo usa o timer baseado em servidor. Para obter mais informaes sobre os dois timers disponveis, consulte Introduo a timers baseados em servidor.
Preocupaes de desempenho e segurana com propriedades dinmicas

H dois itens que podem ser preocupantes quando voc usa propriedades dinmicas. Primeiro, armazenamento e recuperao de propriedades dinmicas podem afetar um pouco o desempenho do aplicativo. Recuperar valores de propriedades de dentro do aplicativo compilado ligeiramente mais rpido do que recuperar valores de propriedades do arquivo de configurao. Na primeira vez em que um valor de arquivo de configurao acessado pelo aplicativo, haver um leve impacto no desempenho quando o aplicativo ler o arquivo. Porm este impacto muito pequeno e no deve ser notado. Qualquer recuperao subseqente desta ou outra propriedade tem um impacto no desempenho muito menor semelhante a ler um valor de uma tabela de hash. Segundo, se voc estiver armazenando valores de propriedades tais como identificaes dos usurios e senhas em um arquivo externo, voc desejar controlar quem tem acesso ao arquivo e aos valores que ele contm. Uma maneira de se fazer isso proteger o arquivo com uma lista de controle de acesso (ACL) do Windows. Uma lista de controle de acesso especifica que operaes diferentes usurios podem executar em arquivos e diretrios especficos. Alm disso, se voc estiver trabalhando com um aplicativo baseado na Web, voc pode tirar proveito da opo de segurana integrada fornecida pelo Windows, Servios de Informaes da Internet (IIS), e SQL Server. Neste modelo, credenciais de autenticao de um usurio para a rede local tambm so usadas para acessar recursos de banco de dados, e nenhum nome de usurio ou senha explcitos so usados na seqncia de conexo. Para obter mais informaes sobre segurana, consulte a documentao do Windows ou as seguintes pginas:

Segurana de aplicativos da Web do ASP.NET Viso geral sobre como conectar-se a dados no Visual Studio

Visual Studio

321

Visual Studio

322

Personalizar e automatizar o ambiente de desenvolvimento


O local para aspecto para obter informaes sobre como criar Add-ins, personalizar a aparncia e comportamento do (IDE), ambiente de desenvolvimento integrado e tpicos de referncia. Nesta seo Personalizar o ambiente de desenvolvimento Informaes sobre como personalizar a janela da Ajuda dinmica e barras de ferramentas, iniciar outros aplicativos de dentro do IDE, exportar e importar configuraes, e fazer outras personalizaes em IDE para convenincia e produtividade. Gerenciamento de janela Informaes sobre como entrar reorganizar janelas ferramenta e documentos no IDE. Automao e extensibilidade para Visual Studio Informaes sobre como criar macros e suplementos. Sees relacionadas Recursos de acessibilidade do Visual Studio Informaes sobre como otimizar layouts janela, alterar a fonte e cor do texto, e outras formas para personalizar o IDE.

Personalizar o ambiente de desenvolvimento


Voc pode alterar a aparncia e comportamento do ambiente de desenvolvimento integrado do Visual Studio (IDE) de vrias maneiras. O Visual Studio inclui vrias combinaes configuraes predefinidas que voc pode usar para aplicar um grupo de personalizaes a IDE. Alm disso, voc pode Certifique individuais personalizao a itens como janelas, barras de ferramentas, teclas de atalho, e vrias opes exibe. Nesta seo Como: Personalizar Ajuda dinmica Instrues para reduzir o tipo de tpicos e categorias que aparecem na janela da Ajuda dinmica. Personalizar barras de ferramentas Instrues para adicionar e personalizar a aparncia de barras de ferramentas. Como iniciar ferramentas no Visual Studio: Instrues para adicionar um comando no menu Ferramentas para iniciar aplicativos externos para o Visual Studio de no Visual Studio. Como personalizar a seo de notcias da pgina Iniciar: Instrues para especificar um RSS personalizado alimentao para a pgina inicial.

Visual Studio

323

Como alterar o item exibido em Iniciar Backup do ambiente de desenvolvimento do: Instrues para especificar que uma caixa de dilogo especfico, pgina, ou ambiente vazia exibida quando voc inicia o IDE. Trabalhando com configuraes Informaes sobre como configuraes funcionam no IDE, importar e exportar configuraes, e alterar basear configuraes. Sees relacionadas Recursos de acessibilidade do Visual Studio Informaes sobre como criar atalho combinaes de teclas, otimizar layouts janela, altere a fonte e cor do texto, e outras formas para personalizar o IDE. Personalizar recursos e opes do Editor Detalhes para alterar a aparncia do Editor, o texto, ele exibe e informaes sobre como criar atalhos Editor. Especificando configuraes do depurador Como usar e depurao. e Project Settings caixas de dilogo para alterar vrias configuraes para o depurador a Options Criando e editando configuraes Procedimentos para especificar uma variedade de criar configuraes para seu esforo de desenvolvimento. Consulte tambm Outros recursos Personalizar e automatizar o ambiente de desenvolvimento

Visual Studio

Como: Personalizar Ajuda dinmica


Voc pode alterar o nmero e tipo de links que aparecem na janela da Ajuda dinmica para tornar mais fcil para localizar informaes A janela da Ajuda dinmica fornece links para informaes encontradas na Ajuda local com base em parte da (IDE) o ambiente de desenvolvimento integrado que atualmente tem foco. Normalmente, os links que aparecem esto relacionados s voc est tentando se realizar a tarefa atual ou a parte atual de IDE que voc est usando. Os tpicos mais provvel para ser til para voc esto listados primeiro. Observao Ajuda filtros no afetam a janela da Ajuda dinmica. A janela da Ajuda dinmica filtros automaticamente tpicos com base em suas aes no IDE. Alm disso, a janela da Ajuda dinmica no exibe links para informaes encontradas em MSDN Online ou em sites da Web comunidade Codezone; ele s exibe links para tpicos encontrados na Ajuda local. Por exemplo, voc pode:

Adicionar ou remover categorias tpico, ou vincular grupos.

Visual Studio

324

Classificar categorias tpico. Adicionar ou remover tipos tpico. Especificar o contexto que a janela da Ajuda dinmica usa para exibir links. Alterar o nmero de links exibidos para cada categoria tpico. Observao

As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina Ajuda foi gravada com General Development Settings em mente. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Exibir a janela da Ajuda dinmico Para exibir a janela da Ajuda dinmico 1. 2. No menu View, escolha Other Windows e escolha Command Window. Digite Help.DynamicHelp e pressione ENTER. ou No menu Help, escolha Dynamic Help. Personalizar categorias tpico Voc pode adicionar ou remover categorias tpico, como Miscelnea, treinamento e da janela da Ajuda dinmico Categorias sero exibidas somente se no h tpicos que correspondem categoria e o contexto IDE atual. As categorias includas no conjunto documentao padro so ajuda, exemplos, e Guia de Introduo. Para adicionar ou remover categorias tpico 1. 2. 3. 4. 5. No menu Tools, escolha Options. Na caixa Options de dilogo, escolha Environment. Em Environment, escolha Help e escolha Dynamic Help. Na lista Categories, marque ou desmarque as categorias que esto listadas para adicionar ou remov-los da janela da Ajuda dinmica. Escolha OK.

Voc pode alterar a ordem na qual as categorias aparecem na janela da Ajuda dinmico Para classificar categorias tpico 1. 2. 3. 4. No menu Tools, escolha Options. Na caixa Options de dilogo, escolha Environment. Em Environment, escolha Help e escolha Dynamic Help. Na lista Categories, selecione a categoria voc pretende mover e escolha Move Up ou Move Down. Descries da categoria: Actions Lista Links para assistentes, macros, comandos, e outras ferramentas para serem iniciados quando voc seleciona o link.

Visual Studio

325

Training

Lista links para tpicos do Microsoft (MSDN) treinamento conjunto documentao Developer Network. Lista links para tpicos de conjuntos documentao dos msdn. Links para tpicos que demonstram o uso de tecnologias .NET. Lista links para tpicos que foram projetados para ajud-lo rapidamente tornar produtivos usando o Visual Studio. Lista links para tpicos que no cabem em uma das categorias acima.

Help Samples Getting Started Miscellaneous

Alm disso, voc pode especificar o nmero total de links que so exibidos em cada categoria. Os links so exibidos de acordo com relevncia ponderada Os tpicos mais provvel para ser til para voc so listados primeiro, para se voc limitar o nmero de links exibida, voc ainda deve obter os tpicos mais relevantes. Voc pode exibir mais links se voc quiser ser capaz de examine rapidamente um nmero maior de tpicos relacionados ao seu trabalho ou se seu posicionamento resoluo e janela da tela permite que voc se Consulte mais links ao mesmo tempo. Para alterar o nmero de links exibidos para cada categoria tpico 1. 2. 3. 4. No menu Tools, escolha Options. Na caixa de dilogo Opes, escolha Environment. Em Environment, escolha Help e escolha Dynamic Help. Marque a Limit number of links per category caixa de seleo e insira um nmero na caixa de texto adjacentes.

Personalizar tipos tpico exibidos Em Categorias, voc pode incluir ou excluir vrios tipos diferentes tpico, tais como artigo e orientao. Por exemplo, se voc deseja ver apenas links para tpicos de referncia de idioma no janela da Ajuda dinmico, excluir todos os tipos exceto sintaxe. Para incluir ou excluir tipos tpico 1. 2. 3. 4. No menu Tools, escolha Options. Na caixa Options de dilogo, escolha Environment. Em Environment, escolha Help e escolha Dynamic Help. Na lista, selecione ou Topic types desmarque os tipos listados para incluir ou exclui-los dos vnculos exibidos na janela da Ajuda dinmica. Descries tipo tpico: Article Fornece informaes detalhadas sobre conceituais entidades incluindo: vises gerais conceito, backgrounders tcnicos, informes oficiais, e as prticas recomendadas.. Instrues passo a orientao para realizar tarefas especficas.

Procedure

Visual Studio

326

Orientation Resumos que ajudam a localizar a ajuda necessria na documentao Visual Studio. Reference Informaes sobre elementos syntactical no-, inclusive guias para elementos da interface do usurio, Ajuda sobre mensagens de erro, e tpicos do glossrio. E / descries de exemplos, muitos dos que contm arquivos de cdigo de fonte completa, voc pode compilar criar, ou executar. Descries dos elementos sintticos incluindo objetos, mtodos, eventos, propriedades, funes, instrues, e expresses.

Sample

Syntax

Especificar o contexto usado para determinar os tpicos para incluir Voc tambm pode especificar o contexto de IDE que a janela da Ajuda dinmica usa para determinar o escopo dos tpicos para exibir Esta opo pode limitar o nmero de tpicos exibidos. Para especificar o tipo de contexto IDE para usar 1. 2. 3. 4. No menu Tools, escolha Options. Na caixa Options de dilogo, escolha Environment. Em Environment, escolha Help e escolha Dynamic Help. Na Show links for, selecione o contexto voc deseja a janela da Ajuda dinmica exibir tpicos para. Descries contexto: Selection only Limita a lista para tpicos associados com o elemento de interface do usurio que est selecionado no momento. Limita a lista para tpicos associados com qualquer elemento de interface do usurio que est aberto. Exibe os tpicos que podem ser associados com o estado atual de IDE.

Active UI elements Show all links Consulte tambm Visual Studio

Como personalizar barras de ferramentas Visual Studio ():


Voc pode alterar o layout, Posio, e contedo de barras de ferramentas no ambiente de desenvolvimento integrado (IDE) Voc tambm pode adicionar botes a barras de ferramentas e alterar o cone atribudo de qualquer boto. Criar novas barras de ferramentas Para criar uma nova barra de ferramentas 1. 2. 3. 4. No menu Tools, escolha Customize. Na caixa Customize de dilogo, selecione a Toolbars guia. Escolha New. Na caixa New Toolbar de dilogo, digite um nome para a barra de ferramentas

Visual Studio

327

5. 1. 2. 3. 4. 5. 6. 7. 8.

Escolha OK. No menu Tools , escolha Customize. Na caixa Customize de dilogo, selecione a Commands guia. Clique em Rearrange Commands. Em Choose a menu or toolbar to rearrange, selecione Toolbar e escolha Barra de Ferramentas correta na lista drop-down. Clique em Add. Na caixa Add Command de dilogo, selecione Nome de Categoria da lista Categories e depois escolha um comando apropriado na lista Commands. Clique em OK. Clique Close em Close novamente.

Para adicionar um boto de comando a uma barra de ferramentas

Personalizar imagens de boto de ferramentas O IDE fornece forty-duas imagens de boto que podem ser trocadas com os cones da barra de ferramentas Padro. Para alterar imagens de boto de ferramentas 1. 2. 3. 4. 5. 6. 7. No menu Tools, escolha Customize. Na caixa Customize de dilogo, selecione a Commands guia. Clique em Rearrange Commands. Em Choose a menu or toolbar to rearrange, selecione Toolbar e escolha Barra de Ferramentas correta na lista drop-down. Selecione o comando de ferramentas do qual voc pretende alterar a imagem. Escolha Modify Selection. Escolha Change Button Image e selecione uma alternativa no menu em cascata. Dica Se voc estiver unsatisfied com as imagens alternativas fornecidas, voc pode personalizar uma imagem de sistema selecionada Para editar imagens de boto 1. 2. 3. 4. 5. 6. 7. No menu Tools, escolha Customize. Na caixa Customize de dilogo, selecione a Commands guia. Clique em Rearrange Commands. Em Choose a menu or toolbar to rearrange, selecione Toolbar e escolha Barra de Ferramentas correta na lista drop-down. Selecione o comando de ferramentas do qual voc pretende alterar a imagem. Escolha Modify Selection. Escolha Edit Button Image.

Visual Studio

328

8.

Use a Button Editor caixa de dilogo para personalizar imagem do boto selecionado. Observao A Customize caixa dilogo pode ser usada para personalizar menus, assim.

Para obter mais informaes sobre como aprimorar a usabilidade e acessibilidade de barras de ferramentas, Como definir opes de acessibilidade: consulte. Consulte tambm Visual Studio

Como iniciar ferramentas no Visual Studio:


Voc pode adicionar itens para o menu Ferramentas que permitem a voc para iniciar ferramentas externas a partir do Visual Studio. Por exemplo, voc pode adicionar um item para o menu Ferramentas para iniciar utilitrios, como exibir OLE ou WinDiff. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina Ajuda foi gravada com General Development Settings em mente. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Para saber mais sobre Fornecendo acoplamentos de teclas e teclas de acelerao para ferramentas externas Argumentos predefinidos para ferramentas externas Adicionar uma ferramenta externa ao menu Ferramentas Voc pode adicionar um comando para o menu Ferramentas para iniciar outro aplicativo, como o Bloco de notas, de dentro do ambiente de desenvolvimento integrado (IDE). Para adicionar uma ferramenta externa a esse menu 1. 2. No menu Tools, escolha External Tools. Na caixa de dilogo da External Tools, escolher Add, e digite um nome para a opo de menu na caixa Title. Dica Digite um E comercial antes uma das letras no nome ferramenta para criar uma tecla aceleradora para o comando quando ela aparecer no menu Tools. For example, if you use M&y External Tool, the letter 'y' will be the accelerator key. Consulte Adicionando chaves Accelerator e vinculao de chaves Argumentos para ferramentas externos

Visual Studio

329

3.

Na caixa Command, digite o caminho para o arquivo voc pretenda iniciar, ou optar Browse por navegue at o arquivo. Tipos de arquivos que voc pode iniciar incluem.exe,.bat,.com,.cmd, e.pif. Observao Se o arquivo reside no caminho do sistema, poder inserir apenas o nome de arquivo. Caso contrrio, insira o caminho completo para o arquivo.

4.

Selecione Use output window e Close on exit, como apropriado, e escolha OK. Observao A Use output window opo est disponvel para arquivos.bat e.com somente.

Um comando para a ferramenta, usando o texto inserido como o ttulo, agora aparece no menu Tools. Para iniciar a ferramenta, escolhendo o novo comando de menu. Observao Adicionando uma ferramenta externa a esse menu no no registrar um aplicativo como a ferramenta padro do seu tipo. Por exemplo, se voc desejar usar seu editor externo favorito para modificar marcaes HTML, voc pode definir essa preferncia do Caixa de dilogo Opes browser, Ambiente, Web.. o Caixa de dilogo Opes browser, Ambiente, Web Tambm facilmente voc pode criar um projeto add-in Visual Studio para informar o IDE na inicializao um utilitrio externo que manipular tarefas, como marcao validao ou fonte integrao de controle de cdigo. Passar variveis para ferramentas externas Voc pode especificar que determinadas informaes ser passadas para um comando quando ele for iniciado, como opes de linha de comando para aplicativos de console. Para passar variveis para a ferramenta 1. Na caixa Arguments, digite os argumentos que deseja passar para a ferramenta, ou escolha o boto de direo para selecionar um argumento predefinido. Observao Para obter mais informaes sobre sintaxe argumento, consulte Argumentos para ferramentas externos. 2. Selecione Prompt for arguments Se voc desejar a opo de edio os argumentos no momento o comando iniciado.

Quando voc iniciar a ferramenta externa partir menu Ferramentas, em seguida os argumentos que voc selecionou ser automaticamente passados para a ferramenta. Se voc selecionou Prompt for Arguments, caixa Arguments de dilogo aparecer. Especificar uma pasta de trabalho

Visual Studio

330

Voc tambm pode especificar a pasta de trabalho para a ferramenta ou comando Por exemplo, se a ferramenta l dados do sistema de arquivos da pasta atual, a ferramenta requer se certos componentes de programa esto presentes na pasta atual na inicializao. Para especificar uma pasta de trabalho para a ferramenta

Na caixa Initial directory, digite a pasta de trabalho para a ferramenta, ou escolha o boto de direo para selecionar um local de diretrio predefinidos.

Selecione Prompt for arguments se voc gostaria que tem a opo de especificar argumentos adicionais no momento o comando iniciado. Exibir sada Unicode na janela de sada Se voc usar uma ferramenta que fornece a sada de unicode em vez de ASCII, voc pode optar por exibir o Unicode na janela de sada. Para exibir sada Unicode na janela de sada

Selecione Treat output as Unicode. Observao No selecionar esta opo para ferramentas que fornecem sada em ASCII.

Consulte tambm Visual Studio

Como personalizar a seo de notcias da pgina Iniciar:


Voc pode especificar qualquer RSS vlido alimentao para a seo de notcias do Start Page. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina Ajuda foi gravada com General Environment Settings em mente. Para alterar as configuraes, no menu Tools, clique em Import and Export Settings. Para obter mais informaes, consulte Configuraes do Visual Studio. Para personalizar a seo de notcias da pgina inicial 1. 2. 3. 4. No menu Tools, clique em Options. Expanda Environment e clique em Startup. Em Start Page news channel, digite um novo RSS alimentao URL. Clique em OK.

Consulte tambm Visual Studio

Como alterar o item exibido em Iniciar Backup do ambiente de desenvolvimento do:


Voc pode alterar a interface de usurio que aparece por padro quando voc inicia Visual Studio.

Visual Studio

331

Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina Ajuda foi gravada com General Development Settings em mente. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Para alterar o padro UI exibida quando voc inicia o Visual Studio 1. 2. 3. 4. No menu Tools, escolha Options. Expandir Environment e escolha Startup. Na lista At startup drop-down, escolha uma das opes. Para obter mais informaes, consulte Caixa de dilogo Opes inicializao, Ambiente,. Clique em OK. As alteraes tenham efeito voc iniciar Visual Studio na prxima vez. Consulte tambm Visual Studio

Trabalhando com configuraes


Esta seo contm informaes sobre a aplicao, exportar e importar configuraes para personalizar o ambiente de desenvolvimento integrado (IDE) para melhor correspondncia seu estilo de desenvolvimento. Voc tambm pode encontrar informaes gerais sobre como configuraes funcionam e os tipos de itens que so personalizadas atravs das configuraes. Alm disso, aprender a especificar um conjunto de configuraes de uso da equipe. Nesta seo Configuraes do Visual Studio COMO: Compartilhar configuraes entre computadores Como: Alterar configuraes selecionadas Como: Especificar configuraes para uma equipe Import and Export Settings Wizard Referncia Importar e exportar configuraes, Ambiente, caixa de dilogo Opes

Configuraes do Visual Studio


Configuraes no Visual Studio consistir de personalizaes feitas para o ambiente de desenvolvimento integrado (IDE) com base em diferentes tipos de atividades de desenvolvimento e seus prprios personalizaes. Essas personalizaes incluir mostrar ou ocultar determinada layouts janela, colocao dos comandos de menu, nomes de menu, modelos disponveis na caixa de dilogo Novo projetos, janelas de ferramentas, predefinidas combinaes de teclas de atalho, e ajuda filtros, e assim por diante. Com configuraes, voc pode:

Visual Studio

332

Criar uma cpia das suas configuraes ativa para uso em uma segunda mquina Compartilhar suas configuraes Ativa com outros desenvolvedores Permitir todos os membros da equipe para usar as mesmas configuraes em Selecione reas, como o editor, sem remover personalizaes para outras reas individuais

Quais so configuraes? Configuraes so personalizaes ao IDE, como layouts janela, padres editor, e opes caixa dilogo disponveis que voc pode salvar, Exportar, importar, ou redefinir para facilitar o IDE para usar. As configuraes Ativa consistem em duas partes: predefinidas personalizaes do arquivo instalado.vssettings voc selecionou na primeira vez voc iniciou Visual Studio e qualquer personalizao IDE subseqentes que voc fez. Configuraes ativa so salvas por padro no currentsettings.vssettings arquivo. Para obter mais informaes sobre as configuraes predefinidas disponveis com Visual Studio, consulte os seguintes tpicos. Como configuraes funcionam? Quando voc inicia Visual Studio, primeiro necessrio para selecionar uma coleo configuraes que contm configuraes predefinidas projetadas para corresponder seus hbitos de desenvolvimento. Se voc atualizar para outro edio do Visual Studio, voc tambm ter a opo de aplicar configuraes a outros edio na usando a My Previous Settings opo. A coleo configuraes o primeiro elemento de suas configuraes ativa. Cada vez que fizer uma alterao em uma configurao controlada pelo Visual Studio, como alterar a cor do commented cdigo no Editor, a alterao automaticamente salvo para currentsettings.vssettings juntamente com as configuraes predefinidas. O Visual Studio aplica suas configuraes ativa automaticamente sempre que voc iniciar o Visual Studio. Em alguns casos, voc pode alterar as configuraes aplicadas como parte de uma coleo predefinida Por exemplo, se uma coleo configuraes simplificada caixa de dilogo Opes, ocultando pginas, voc pode exibir essas pginas manualmente, selecionando Show all settings. Em outros casos, voc no pode substituir a configurao predefinida sem aplicar uma coleo diferente. Para obter uma lista detalhada das personalizaes includos no configuraes predefinidas, consulte Configuraes do Visual Studio. Para obter informaes sobre como aplicar colees configuraes diferentes, consulte Como: Alterar configuraes selecionadas. Configuraes podem ser aplicadas de duas maneiras: completamente voc pode substituir as configuraes Ativa com novas configuraes ou voc pode substituir uma parte de suas configuraes ativa. Importar um arquivo que contm todas as categorias configuraes possveis.vssettings ou aplicar outra coleo configuraes dois substituiro as configuraes ativa completamente. Importar um arquivo que contm somente um subconjunto das categorias configuraes ou unselecting categorias configuraes em um arquivo.vssettings.vssettings s se aplica essas configuraes que estiver selecionadas, deixando as configuraes ativos para as categorias restantes intacto. Ajuda e Configuraes Colees configuraes predefinidas tambm fornecer personalizaes Ajuda. Configuraes especificam o padro How Do I Pgina na Ajuda. Eu selecionado

Visual Studio

333

como pendente eu pgina filtros fazer o contedo que aparece no ndice analtico e no ndice,, bem como fornece contedo personalizado na caixa como guia. Voc pode alterar o ativo How Do I pgina na lista drop-down como pendente eu outras pginas. Configuraes e segurana Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana se voc compartilhar suas configuraes com outros usurios. Inversamente, se voc pretende importar configuraes fornecidas por outras pessoas, voc precisar estar ciente das categorias dentro do arquivo configuraes que podem ser uma questo de segurana. Um cone aparece ao lado essas categorias com as possveis questes de segurana. Essas categorias configuraes incluem:

Favoritos Importar e exportar configuraes

Consulte tambm Outros recursos

Como: Alterar configuraes selecionadas


Voc pode aplicar um sub-set das configuraes de uma coleo configuraes diferentes para as configuraes atuais para criar um ambiente de desenvolvimento mais personalizada. Para obter mais informaes sobre configuraes predefinidas, consulte Configuraes do Visual Studio. Para alterar configuraes selecione 13. No menu Tools, escolha Import and Export Settings. 14. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. 15. Na pgina Save Current Settings, selecionar Yes, save my current settings, e clique em Next 16. No Which collection of settings do you want to import, selecione uma coleo configuraes na lista e clique em Next. 17. No Which settings do you want to import, expanda a lista e selecione apenas a categorias ou itens de categoria que voc deseja que se aplicam as configuraes atuais. 18. Clique em Finish. A Reset Complete pgina lista os erros associados a redefinindo as configuraes com Details. Consulte tambm

Trabalhando com configuraes


Esta seo contm informaes sobre a aplicao, exportar e importar configuraes para personalizar o ambiente de desenvolvimento integrado (IDE) para melhor correspondncia seu estilo de desenvolvimento. Voc tambm pode encontrar informaes gerais sobre como configuraes funcionam e os tipos de itens que so personalizadas atravs das configuraes. Alm disso, aprender a especificar um conjunto de configuraes de uso da equipe. Nesta seo

Visual Studio

334

Configuraes do Visual Studio COMO: Compartilhar configuraes entre computadores Como: Alterar configuraes selecionadas Como: Especificar configuraes para uma equipe Import and Export Settings Wizard Referncia Importar e exportar configuraes, Ambiente, caixa de dilogo Opes

COMO: Compartilhar configuraes entre computadores


Voc pode exportar configuraes para o editor, projetos, depurao, fontes e cores, e outras reas IDE a um arquivo que voc pode importar e usar em outro computador, como seu computador de desenvolvimento segundo ou computador um colega na. Exportar configuraes para um arquivo Voc pode optar por exportar todas ou algumas das suas configuraes atuais a um arquivo.vssettings que voc pode usar em um computador segundo ou compartilhar com outros desenvolvedores. Para exportar configuraes 15. No menu Tools, escolha Import and Export Settings. 16. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Export selected environment settings e clique em Next. 17. No Which settings do you want to export?, selecione as categorias voc pretende exportar e, em seguida, clique em Next Configuraes. Observao Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 18. No What do you want to name your settings file, digite um nome para o arquivo de configuraes. 19. Se voc gostaria de salvar o arquivo em um local diferente, clique Browse ou digite um novo caminho para Store my settings file in this directory. 20. Clique em Finish. 21. Na pgina Export Complete, examine os erros associados exportao as configuraes com Details. Importar um arquivo.vssettings Aps ter criado um arquivo.vssettings, voc pode usar esse arquivo em outros computadores ao importar esse arquivo para outra instalao do Visual Studio. Voc tambm pode importar arquivos de configurao criados por outros usurios e aplicar essas configuraes para o Visual Studio. Se voc est importando o arquivo configuraes contm todas as categorias configuraes possveis, importar esse arquivo completamente substitui as

Visual Studio

335

configuraes existentes. Importar o arquivo se um arquivo de configuraes contm apenas um subconjunto das categorias configuraes, apenas aplica essas categorias e no afeta as configuraes atuais para categorias no importadas. Um desenvolvedor na equipe por exemplo, tem exportadas todas as sua configuraes para um arquivo para que outras pessoas na equipe podem utiliz-lo. Se voc desejar se aplicar as configuraes de fontes e cores e as configuraes teclado desse arquivo, somente voc pode limpar todos os outras categorias configuraes e apenas aplicar as configuraes selecionadas sem alterar as configuraes atuais para as categorias restantes Para importar configuraes 17. No menu Tools, escolha Import and Export Settings. 18. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. 19. Logon Save Current Settings, optar Yes, save my current settings por criar um backup de suas personalizaes IDE atuais; optar No, just import new settings, overwriting my current settings por continuar sem fazer o backup suas personalizaes IDE atuais. 20. No What collection of settings do you want to import?, selecione um arquivo na lista ou clique Browse para localizar um arquivo de configuraes e clique em Next. 21. No Which settings do you want to import?, selecione as configuraes opes voc pretende importar do arquivo.vssettings selecionado. Observao Algumas categorias configuraes podem conter informaes que podem ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 22. Clique em Finish. 23. Na caixa Save Current Settings de dilogo, decidir se deve ou no para salvar as configuraes atuais. 24. Na pgina Import Complete, examine os erros associados a importar as configuraes em Details. Compartilhar um arquivo nico.vssettings entre computadores Em vez de criar uma cpia das suas configuraes atuais e usando a cpia em outro computador, voc pode compartilhar um arquivo.vssettings nico em um compartilhamento de rede. Essa tcnica pode ser til se voc desejar as personalizaes mesmas exatas disponveis em todas as vezes em vrios computadores. Quando voc compartilhar um arquivo.vssettings nico em vrios computadores, personalizaes feitas, independentemente do computador no qual voc torn-los na, so salvas para o arquivo.vssettings. A lista Tarefas por exemplo, se voc fechar a lista de tarefas em um computador, na prxima vez que voc iniciar o Visual Studio em outros computadores, no ser exibida. Para compartilhar um arquivo nico configuraes entre computadores 11. No menu Tools, escolha Options 12. Na pasta Environment, escolha Import and Export Settings.

Visual Studio

336

13. Na Automatically save my settings to this file, digite uma pasta compartilhada ou clique Browse para localizar um compartilhamento de rede. 14. Clique em OK. 15. No segundo computador, repita as etapas 1 a 4. Consulte tambm

Como: Especificar configuraes para uma equipe


Quando estiver trabalhando em um grupo, ele pode ser til para que cada desenvolvedor usar as configuraes mesmas exatas em algumas reas do ambiente de desenvolvimento integrado (IDE), como o editor. Voc pode incentivar Essa consistncia criando um arquivo.vssettings para um subconjunto de categorias configuraes disponveis que todos os desenvolvedores de seu grupo podem usar. Quando aplicado, essas configuraes da equipe no seria substituem qualquer categoria no especificada no arquivo.vssettings, permitindo que desenvolvedores individuais para manter personalizaes feitas para outras reas do IDE. Para obter informaes sobre como criar um arquivo.vssettings, consulte COMO: Compartilhar configuraes entre computadores. O Visual Studio verifica que voc estiver usando a verso mais recente do arquivo.vssettings de grupo sempre que voc iniciar o Visual Studio. Quaisquer alteraes feitas no arquivo.vssettings so aplicadas automaticamente. Para especificar um arquivo.vssettings para uso em um grupo 11. Partir do Tools menu, escolha Options. 12. Na pasta Environment, escolha Import and Export Settings. 13. Selecione Use team settings file. 14. Insira um UNC ou caminho local, ou clique Browse para localizar o arquivo.vssettings de grupo. 15. Clique OK para aplicar as configuraes. Consulte tambm

Import and Export Settings Wizard


Use este assistente para exportar configuraes, importar configuraes, ou substituir as configuraes para usar uma coleo configuraes predefinidas. Opo Exportar configuraes de ambiente selecionada Importar configuraes de ambiente selecionada Redefinir todas as configuraes Descrio Salvar um subconjunto ou todas as suas configuraes existentes para que voc pode usar essas configuraes em outro computador. Aplica as configuraes em um arquivo voc tiver recebido. Substitui existentes configuraes com os do arquivo importado. Permite que voc se reverter as configuraes de volta para uma das configuraes predefinidas disponveis com o produto.

Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.

Visual Studio

337

Escolha Configuraes para exportar, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar algumas ou todas as suas configuraes atuais ser exportados para um arquivo para uso em outros computadores. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione para exportar todas as configuraes, ou especificar um sub-set das configuraes por categoria ou item de categoria. Observao Configuraes que podem conter informaes de identificao sobre voc ou seu computador so marcadas com um grfico de aviso. Essas configuraes no so selecionados por padro, mas so automaticamente selecionados se voc escolher All Settings.

Which settings do you want to export?

Consulte tambm Conceitos

Nomeie O arquivo de configuraes, importar e exportar configuraes Assistente


Use esta pgina do Assistente para configuraes a importao e exportao para especificar o nome e local do arquivo que ir conter as configuraes exportadas. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores What do you want to name your settings file? Digite um nome personalizado para as configuraes exportadas. Store my settings file in this directory. Especifica o diretrio padro no qual as configuraes exportadas sero salvos. Clique Browse para especificar uma pasta personalizada. Consulte tambm Conceitos

Salvar configuraes atuais, importar e Assistente para exportao configuraes


Use esta pgina do Assistente para configuraes a importao e exportao para salvar as configuraes ativos antes de importar novas configuraes. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. COMO: Compartilhar configuraes entre computadores Yes, save my current settings

Visual Studio

338

Selecione esta opo para criar um backup das suas configuraes atuais. Mais tarde voc pode optar por importar essas configuraes para retornar ao estado IDE atual. Setting file name Store my settings file in this directory Digite um nome personalizado para as configuraes atuais. Especifica o diretrio padro no qual as configuraes atuais sero salvos. Clique Browse para especificar uma pasta personalizada.

No, just import new settings, overwriting my current settings Selecione esta opo se voc no quiser backup as configuraes atuais. Se voc est importando o arquivo configuraes contm configuraes para itens de categoria voc ter personalizado, as configuraes importadas substituir as alteraes. Consulte tambm

Escolha Configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do Assistente para configuraes a importao e exportao para especificar a coleo Configuraes voc pretende importar. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.

Which settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings. Consulte tambm

Escolha um coleo de configuraes para importar, importar e Assistente configuraes exportao


Use esta pgina do assistente Importar e exportar configuraes para especificar uma coleo configuraes predefinidos ou uma coleo configuraes personalizadas voc deseja importar para uso no IDE. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings.

Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.

Which collection of settings do you want to import?

Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Para obter mais informaes sobre colees configuraes predefinidas, consulte Configuraes do Visual Studio.

Visual Studio

339

Consulte tambm

<task> Complete, Import and Export Settings Wizard


Esta pgina do importao e assistente exportar para configuraes exibe informaes sobre a tarefa configuraes concluda com xito ou no e todos os erros que foram encontrados. Voc pode acessar este assistente a partir do Tools menu clicando Import and Export Settings. Details Exibe informaes sobre qualquer sucesso ou falhas. Consulte tambm Visual Studio

COMO: Compartilhar configuraes entre computadores


Voc pode exportar configuraes para o editor, projetos, depurao, fontes e cores, e outras reas IDE a um arquivo que voc pode importar e usar em outro computador, como seu computador de desenvolvimento segundo ou computador um colega na. Exportar configuraes para um arquivo Voc pode optar por exportar todas ou algumas das suas configuraes atuais a um arquivo.vssettings que voc pode usar em um computador segundo ou compartilhar com outros desenvolvedores. Para exportar configuraes 1. 2. 3. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Export selected environment settings e clique em Next. No Which settings do you want to export?, selecione as categorias voc pretende exportar e, em seguida, clique em Next Configuraes. Observao Algumas categorias configuraes podem conter informaes sobre voc ou seu computador que pode ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 4. 5. 6. 7. No What do you want to name your settings file, digite um nome para o arquivo de configuraes. Se voc gostaria de salvar o arquivo em um local diferente, clique Browse ou digite um novo caminho para Store my settings file in this directory. Clique em Finish. Na pgina Export Complete, examine os erros associados exportao as configuraes com Details.

Importar um arquivo.vssettings Aps ter criado um arquivo.vssettings, voc pode usar esse arquivo em outros computadores ao importar esse arquivo para outra instalao do Visual Studio.

Visual Studio

340

Voc tambm pode importar arquivos de configurao criados por outros usurios e aplicar essas configuraes para o Visual Studio. Se voc est importando o arquivo configuraes contm todas as categorias configuraes possveis, importar esse arquivo completamente substitui as configuraes existentes. Importar o arquivo se um arquivo de configuraes contm apenas um subconjunto das categorias configuraes, apenas aplica essas categorias e no afeta as configuraes atuais para categorias no importadas. Um desenvolvedor na equipe por exemplo, tem exportadas todas as sua configuraes para um arquivo para que outras pessoas na equipe podem utiliz-lo. Se voc desejar se aplicar as configuraes de fontes e cores e as configuraes teclado desse arquivo, somente voc pode limpar todos os outras categorias configuraes e apenas aplicar as configuraes selecionadas sem alterar as configuraes atuais para as categorias restantes Para importar configuraes 1. 2. 3. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. Logon Save Current Settings, optar Yes, save my current settings por criar um backup de suas personalizaes IDE atuais; optar No, just import new settings, overwriting my current settings por continuar sem fazer o backup suas personalizaes IDE atuais. No What collection of settings do you want to import?, selecione um arquivo na lista ou clique Browse para localizar um arquivo de configuraes e clique em Next. No Which settings do you want to import?, selecione as configuraes opes voc pretende importar do arquivo.vssettings selecionado. Observao Algumas categorias configuraes podem conter informaes que podem ser uma questo de segurana. Essas categorias configuraes so identificadas por um cone de aviso amarelo e preto. 6. 7. 8. Clique em Finish. Na caixa Save Current Settings de dilogo, decidir se deve ou no para salvar as configuraes atuais. Na pgina Import Complete, examine os erros associados a importar as configuraes em Details.

4.

5.

Compartilhar um arquivo nico.vssettings entre computadores Em vez de criar uma cpia das suas configuraes atuais e usando a cpia em outro computador, voc pode compartilhar um arquivo.vssettings nico em um compartilhamento de rede. Essa tcnica pode ser til se voc desejar as personalizaes mesmas exatas disponveis em todas as vezes em vrios computadores. Quando voc compartilhar um arquivo.vssettings nico em vrios computadores, personalizaes feitas, independentemente do computador no qual voc torn-los na, so salvas para o arquivo.vssettings. A lista Tarefas por exemplo, se voc

Visual Studio

341

fechar a lista de tarefas em um computador, na prxima vez que voc iniciar o Visual Studio em outros computadores, no ser exibida. Para compartilhar um arquivo nico configuraes entre computadores 1. 2. 3. 4. 5. No menu Tools, escolha Options Na pasta Environment, escolha Import and Export Settings. Na Automatically save my settings to this file, digite uma pasta compartilhada ou clique Browse para localizar um compartilhamento de rede. Clique em OK. No segundo computador, repita as etapas 1 a 4.

Consulte tambm Visual Studio

Como: Alterar configuraes selecionadas


Voc pode aplicar um sub-set das configuraes de uma coleo configuraes diferentes para as configuraes atuais para criar um ambiente de desenvolvimento mais personalizada. Para obter mais informaes sobre configuraes predefinidas, consulte Configuraes do Visual Studio. Para alterar configuraes selecione 1. 2. 3. 4. 5. No menu Tools, escolha Import and Export Settings. Na Welcome to the Import and Export Settings Wizard Pgina, clique em Import selected environment settings e clique em Next. Na pgina Save Current Settings, selecionar Yes, save my current settings, e clique em Next No Which collection of settings do you want to import, selecione uma coleo configuraes na lista e clique em Next. No Which settings do you want to import, expanda a lista e selecione apenas a categorias ou itens de categoria que voc deseja que se aplicam as configuraes atuais. Clique em Finish. A Reset Complete pgina lista os erros associados a redefinindo as configuraes com Details. Consulte tambm Visual Studio

6.

Como: Especificar configuraes para uma equipe


Quando estiver trabalhando em um grupo, ele pode ser til para que cada desenvolvedor usar as configuraes mesmas exatas em algumas reas do ambiente de desenvolvimento integrado (IDE), como o editor. Voc pode incentivar Essa consistncia criando um arquivo.vssettings para um subconjunto de categorias configuraes disponveis que todos os desenvolvedores de seu grupo podem usar. Quando aplicado, essas configuraes da equipe no seria substituem qualquer categoria no especificada no arquivo.vssettings, permitindo que desenvolvedores individuais para manter personalizaes feitas para outras reas do IDE. Para obter informaes sobre como criar um arquivo.vssettings, consulte COMO: Compartilhar configuraes entre computadores.

Visual Studio

342

O Visual Studio verifica que voc estiver usando a verso mais recente do arquivo.vssettings de grupo sempre que voc iniciar o Visual Studio. Quaisquer alteraes feitas no arquivo.vssettings so aplicadas automaticamente. Para especificar um arquivo.vssettings para uso em um grupo 1. 2. 3. 4. 5. Partir do Tools menu, escolha Options. Na pasta Environment, escolha Import and Export Settings. Selecione Use team settings file. Insira um UNC ou caminho local, ou clique Browse para localizar o arquivo.vssettings de grupo. Clique OK para aplicar as configuraes.

Consulte tambm Visual Studio

Gerenciamento de janela
O IDE (ambiente de desenvolvimento integrado) fornece vrias ferramentas e opes para ajud-lo a posicionar e mover entre janelas de documento e ferramenta. Dois modos interface diferente so fornecidos para trabalhar com janelas de documento: Multiple documents modo e Tabbed documents modo. Modo de interface Vrios documentos Descrio O IDE fornece uma moldura pai que serve como um continer visual e lgica de todas as janelas de documento. Janelas de documento so colocadas lado a lado-em painis com guias. O IDE usa esse modo por padro.

Documentos com guias

Voc pode altera modos interface IDE usando o Geral, Ambiente, caixa de dilogo Opes.

Tipos janela
O ambiente de desenvolvimento integrado (IDE) contm dois tipos bsicos janela: tool windows e document windows. Esses tipos de janela dois se comportar de maneiras ligeiramente diferentes. Janelas ferramenta e janelas de documento no podem ser agrupadas juntos no IDE. Janelas de ferramentas Janelas de ferramentas so listados no menu View e so definidos pelo aplicativo atual e seus Add-ins. Voc pode configurar janelas de ferramentas no IDE para:

Mostrar ou ocultar automaticamente Guia Vnculo com outras janelas ferramenta Encaixar contra as bordas do IDE

Visual Studio

343

Flutuar sobre Exibir em outros monitores

Alm disso, voc pode exibir mais de uma ocorrncia de determinadas janelas ferramenta ao mesmo tempo. Por exemplo, voc pode exibir mais de uma janela do navegador. Voc pode criar novas instncias de uma janela ferramenta, escolhendo New Window no menu Window. Alm disso, voc poder determinar como os botes fechar e AutoOcultar afetam um grupo de janelas de ferramentas ancorada juntos. Janelas de documento Janelas de documento dinamicamente so criadas quando voc abrir ou criar arquivos ou outros itens. A lista de janelas de documento abertas exibida no menu Window do atual na ordem z, com a janela mais alto-listada primeiro. As maneiras em que voc gerenciar as janelas de documento depende muito do modo de interface selecionado no Geral, Ambiente, caixa de dilogo Opes. Voc pode optar por trabalhar no modo documentos Tabbed (o padro) ou no modo de interface documentos mltiplos (MDI). Faa experincias com essas configuraes para criar um documento edio ambiente que satisfaa suas necessidades e preferncias. Para obter mais informaes, consulte Gerenciamento de janela. Janelas dockable Em modo Tabbed, voc pode tornar janelas de documento dockable ou undockable ao marcar ou desmarcar Dockable no menu Janela. No modo MDI, as janelas de documentos so undockable. Dica Determinados janelas de documento no IDE so realmente janelas ferramenta que tm a caracterstica dockable est desativado. Para essas janelas, escolha Dockable a partir do Window Menu. ancorado Grupos guia Grupos guia esto disponveis somente no Tabbed Documents modo. Elas estendem sua capacidade para gerenciar espao de trabalho limitado ao trabalhar com dois ou mais documentos abertos no IDE. Voc pode organizar vrias janelas de documento em grupos guia vertical ou horizontal e ordem facilmente aleatria documentos de um grupo guia para outro. Dica Documentos com guias podem ser arrastados entre o IDE por suas guias. Janelas tiled / Cascading O Windows pode ser lado a lado ou organizados em cascata pilhas somente no modo MDI. Windows dividir Quando voc encontrar mesmo que precisam exibir ou editar dois locais simultaneamente em um documento, janelas de diviso podem ser til. Para dividir o documento em duas sees independentemente rolagem, escolha Split No menu Window. Selecione Remove Split a partir do Window menu para restaurar a exibio nica.

Visual Studio

344

Reutilizar janelas de documento Para reduzir o nmero de janelas abertos ao mesmo tempo, voc pode optar exibir todos os documentos inalterados na mesma janela do documento, permitindo que cada novo documento voc aberto substituir a ltima. Escolha a Re-use current document window opo na pgina General do Environment Options. Observao Novos documentos ser aberto no janela de documento atual para desde que o documento ativo no foi alterado. Exibindo tpicos ajuda nas janelas possvel exibir tpicos Ajuda interna ou externamente. Essas opes esto disponveis no Ajuda, Ambiente, caixa de dilogo Opes. Observao Alteraes para essas configuraes s fazer tero efeito at que o IDE seja reiniciado. Por padro, ajuda inicia tpicos da Ajuda em um programa externo chamado Microsoft Document Explorer. Ajudar a ferramenta janelas podem flutuar, ou ser encaixado e fixado aberto ou defina para ocultar automaticamente quando no estiver em uso, muito semelhante janelas de ferramentas no IDE.

COMO: Organizar e ancorar janelas


O ambiente de desenvolvimento integrado (IDE) tem dois tipos de janelas: ferramenta janelas e janelas de documento. Voc pode aumentar a exibio e edio espao para cdigo, dependendo do como voc organizar as janelas no IDE. Voc tem vrias opes para organizar janelas no IDE, incluindo o seguinte:

Guia - ancorado janelas de documento. Ancorar janelas de ferramentas at a borda da moldura no IDE. Minimizar janelas de ferramentas ao longo da borda do IDE. Exibir janelas em monitores diferentes. Colocar janelas de documentos lado a lado. Redefinir posicionamento janela para o layout padro.

Para obter mais informaes sobre as diferenas entre janelas ferramenta e documentos, consulte Tipos janela. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio.

Visual Studio

345

Encaixe Windows Editor janelas que exibem documentos podem ser organizadas em painis com guias dentro do quadro de edio de IDE. Para janelas Editor ancorado 1. 2. 3. No menu Tools, clique em Options. Expanda a Environment pasta, e selecione General. O Geral, Ambiente, caixa de dilogo Opes abre. Em Window layout, selecione a Tabbed documents opo. Quando essa opo definida, documentos abertos em instncias do editor automaticamente so organizados em painis com guias. Quando uma janela ferramenta estiver dockable, ele pode ser encaixado para um lado de uma moldura em IDE. Um losango guia aparece quando voc arrastar janelas de ferramentas do seu local atual para outro local no IDE. O losango guia permite-lhe encaixar rapidamente novamente uma janela ferramenta em um dos quatro lados de IDE. Quando uma janela ferramenta desencaixado ou no dockable, ele flutua na parte superior de outras janelas das. Para janelas de ferramentas ancorado 1. 2. 3. Clique na janela ferramenta voc deseja ancorado, para que ele foco. No menu Window, clique em Dockable. Arraste a janela de ferramentas do seu local atual em direo ao meio de IDE. Um losango guia aparece. As setas do losango quatro ponto em direo as quatro bordas de IDE. Dica Para mover uma janela dockable sem ajust-lo para o lugar, pressione CTRL ao arrast-lo. 4. Quando voc est arrastando a janela atingir a posio onde voc deseja ancorado.-lo, mova o ponteiro sobre a parte correspondente do losango guia Tpicos da janela aparece na rea designada. Para ancorado a janela em posio indicado, verso o boto do mouse. Por exemplo, se Solution Explorer est encaixado na borda direita do IDE ele na borda esquerda, voc deve arrastar Solution Explorer para o meio do IDE, mova o ponteiro sobre esquerda da verso o boto do mouse no losango guia, e. e voc desejar ancorado Minimizar Windows da ferramenta Janelas de ferramentas, todos os que aparea no menu View, suporte a um recurso chamado AutoOcultar. Ocultar automtica permite-lhe ver mais do seu cdigo ao mesmo tempo, minimizando janelas de ferramentas ao longo das bordas do IDE quando no estiver em uso. Ocultar automtica s est disponvel no modo vrios documentos. Para ativar AutoOcultar

5.

Clique na janela voc deseja ocultar para que ele foco.

Visual Studio

346

No menu Window, clique em Auto Hide. ou Clique no cone de anotaes na barra de ttulo da janela.

Ocultar automtica ativada Volta para sua guia quando uma janela hidden auto-perde o foco, ele slides automaticamente na borda de IDE. Enquanto uma janela estiver hidden auto-, seu nome e cone esto visveis em uma guia na borda de IDE. Para exibir uma janela hidden auto-, mova o ponteiro sobre o guia. A janela slides no modo de exibio e est pronto para uso. Para desativar AutoOcultar

Clique na janela voc deseja manter visveis para que ele foco. No menu Window, clique Auto Hide para desmarcar a marca de seleo. ou Clique no cone de anotaes na barra de ttulo da janela.

Automtica desativada ocultar Voc pode controlar a velocidade em que esses transies ocorrem. Para obter mais informaes, consulte Geral, Ambiente, caixa de dilogo Opes.

Dica Janelas de ferramentas que tm AutoOcultar ativado temporariamente slide no modo quando a janela tem foco. Para ocultar a janela novamente, selecione um item fora da janela atual. Quando ela perde o foco, ele slides volta fora de vista.

Visual Studio

347

Para ativar AutoOcultar para janelas de ferramentas 1. 2. 3. 4. No menu Tools, clique em Options. Expanda a Environment pasta, e selecione General. O Geral, Ambiente, caixa de dilogo Opes abre. Em Window Layout, selecione a Multiple documents opo. Selecionar OK, seguida, feche e reinicie Visual Studio. Quando Visual Studio funciona no vrios modo documentos, ferramenta janelas podem ser minimizadas ao longo das bordas de IDE. 5. No Multiple documents modo, selecione a janela ferramenta voc deseja ancorado, para e siga os procedimentos anteriores " " ancorado janelas de ferramentas. Dica Para mover uma janela dockable sem ajust-lo para o lugar, pressione CTRL ao arrast-lo pela tela monitor. 6. Clique com o boto direito do mouse na janela ancorada ferramenta e, em seguida clique em Auto Hide Os slides janela volta para sua guia na borda de IDE. Para exibir a janela, mova o ponteiro sobre sua guia na estrutura do IDE. Observao Para determinar a Geral, Ambiente, caixa de dilogo Opes. se Auto Hide opera em janelas de ferramentas individualmente ou como ancorados grupos, consulte a Auto Hide button affects active tool windows only opo na Especificando um monitor Se voc tiver um segundo monitor e seu suporta de plataforma us-lo, voc pode escolher que monitoram para exibir janelas no. Para colocar janelas de ferramentas em monitores diferentes 1. Usar as Display configuraes em para configurar as configuraes monitor vrios. o Control Panel Consulte a Ajuda do Windows para obter mais informaes. Arraste a janela de ferramentas para o outro monitor. Esta opo somente estar disponvel em plataformas que do suporte a vrios monitores.

7.

2.

Tiling Windows do documento Se voc deseja exibir mais de um documento ao mesmo tempo enquanto edita cdigo, voc pode colocar lado lado as janelas de documento. Para colocar lado a lado janelas de documento

Se o IDE est sendo executado no Tabbed documents modo, selecione uma guia e arraste-abaixo ou acima no lado de documento atual. Um contorno retangular aparece no local onde o novo lado de documento ser colocado. ou

Visual Studio

348

Se voc tiver definido o IDE para usar o Multiple documents layout janela, clique no Windows menu e, em seguida, clique em Tile Horizontally ou Tile Vertically. Para obter mais informaes, consulte Geral, Ambiente, caixa de dilogo Opes.

Redefinindo layouts da janela Voc pode retornar o IDE para o layout janela original para a coleo configuraes usando o Reset Window Layout comando. Quando voc executar este comando, as seguintes aes ocorrem:

Todas as janelas so movidas para suas posies padro. Janelas que esto fechadas no layout janela padro so fechadas pelo comando. Janelas que esto abertas no layout da janela padro so abertas pelo comando.

Voc pode especificar um layout janela padro diferente, modificando as configuraes atuais. Para obter mais informaes, consulte Como: Alterar configuraes selecionadas. Para redefinir posicionamento janela para o layout padro 1. 2. No menu Windows, clique em Reset Window Layout. Na caixa de mensagem, clique em Yes.

Consulte tambm

HOW TO: Windows IDE de lista e arquivos Active


Como uma convenincia, (IDE) o Ambiente de Desenvolvimento Integrado do Visual Studio fornece um IDE Navigator. Esta caixa de dilogo permite que voc escolha rapidamente as janelas IDE e abrir arquivos voc estiver usando. Para exibir o IDE Navigator, uso uma das combinaes de teclas de atalho atribudas ao comando Window.NextDocumentWindowNav. Se o esquema de mapeamento do teclado padro para o idioma em que voc so programando atribui o atalho global CTRL + TAB para este comando, voc pode duas pressione este atalho e mantenha pressionada a tecla CTRL para exibir com a janela IDE anterior selecionada.. Com o anteriormente arquivo ativo selecionada, ou pressione o atalho ALT+F7 e mantenha pressionado o ALT chave para exibir com o anteriormente arquivo ativo selecionado, ou pressione o atalho ALT+F7 e mantenha pressionado o ALT chave para exibir com a janela IDE anterior selecionada o IDE Navigator o IDE Navigator o IDE Navigator o IDE Navigator Se o esquema de mapeamento do teclado para o idioma de desenvolvimento no incluir uma ligao chave para o Window.NextDocumentWindowNav Comando, ou se voc preferir usar um cone diferente, voc pode remapear o atalho para este comando na pgina Keyboard na pasta Environment da caixa Options de dilogo. Para obter mais informaes, consulte Como: Trabalhar com combinaes de teclas de atalho. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta

Visual Studio

349

pgina Ajuda foi gravada com configuraes Visual C# em mente. Para exibir ou alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Para selecionar um item em uma lista do Windows e arquivos aberta com as teclas CTRL+TAB 1. Pressione atalho CTRL + TAB para executar o Window.NextDocumentWindowNav comando. O IDE Navigator exibida com o arquivo anterior selecionado. 2. Continuar a mantenha pressionada a tecla CTRL. Pressione a tecla TAB para mover para baixo na Active Files lista, ou pressione SHIFT+TAB para mover de volta backup desta lista. -Ou-Pressione as teclas SETA para mover acima e abaixo esta lista, ou esquerda e direita para colunas adjacentes. 3. Quando voc tenha selecionado o nome do item desejado, verso a tecla CTRL. A IDE Navigator Fecha, e o item selecionado exibida. Para selecionar um item em uma lista do Windows e arquivos aberta com ALT+F7 1. Pressione o atalho ALT+F7 para executar o Window.NextDocumentWindowNav comando. O IDE Navigator exibida com a janela IDE anterior selecionada. 2. Continuar a mantenha pressionada a tecla ALT. Pressione a tecla F7 para mover para baixo e Active Files listas, ou pressione SHIFT+F7 para mover de volta backup essas listas. o IDE Windows -Ou-Pressione as teclas SETA para mover acima e abaixo essas listas, ou esquerda e direita para colunas adjacentes. 3. Quando voc tenha selecionado o nome do item desejado, verso a tecla ALT. A IDE Navigator Fecha, e o item selecionado exibida. Consulte

Caixa de dilogo do Windows Visual Studio ()


Esta caixa de dilogo permite que voc para exibir, Fechar, e organizar documentos que esto abertos no editores e projetistas. Voc pode exibir esta caixa de dilogo, escolhendo Windows no Window menu. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Name (Nome)

Visual Studio

350

Exibe os nomes das janelas de documentos e ferramenta, com o item ativo selecionado. Path Exibe o caminho completo para documentos. Janelas normalmente no tem um caminho. Ativar Faz o documento ou ferramenta Janela selecionado o item ativo no editor ou Designer. Fechar janelas Fecha os documentos selecionados e janelas em Da lista. Lado a lado horizontalmente Exibe as janelas selecionadas um em cima do outro. Disponvel quando a opo " de ambiente " MDI (Interface de Documentos Mltiplos) estiver ativada no, os Geral, Ambiente, caixa de dilogo Opes nomes e o de dois ou janelas mais abertas so selecionadas. Lado a lado verticalmente Exibe a lado-a-lado Janelas selecionadas. Disponvel quando a opo " de ambiente " MDI (Interface de Documentos Mltiplos) estiver ativada no, os Geral, Ambiente, caixa de dilogo Opes nomes e o de dois ou janelas mais abertas so selecionadas. Consulte tambm

Caixa de dilogo colunas


Determina as colunas que ir ser exibidas na janela do qual a Columns caixa de dilogo exibida. Colunas disponveis Uma lista em ordem alfabtica ordenada das colunas que voc pode exibir na janela pai. Colunas exibidas Uma lista em ordem alfabtica ordenada das colunas exibidas na janela pai do momento. Add Move as colunas selecionadas na caixa Available Columns para a Displayed Columns Caixa. Quando voc fechar a caixa de dilogo, as colunas so exibidas na janela do qual voc exibida esta caixa de dilogo. Remover Remove as colunas selecionadas da lista Displayed Columns para a Available Columns Lista. Redefinir Do Available Columns redefine e Displayed Columns listas para conter as colunas que eles contidos quando a caixa de dilogo foi exibida. Do Move Up clicando no Reset boto tambm desfaz quaisquer alteraes de classificao que voc fez usando e Move Down Botes.

Visual Studio

351

Adicionar tudo Move todas as colunas na lista Available Columns para a Displayed Columns Lista. Remover tudo Move todas as colunas na lista Displayed Columns para a Available Columns Lista. Mover para cima Move a coluna selecionada uma posio acima na ordem de exibio. Mover para baixo Move a coluna selecionada uma posio na ordem de exibio abaixo. Consulte tambm

Caixa de dilogo colunas de classificao


Caixa Sort Columns de dilogo determina como informaes organizado e exibida na janela pai atravs do qual a caixa chamada. Voc pode usar a Sort Columns caixa para escolher colunas, especificar a ordem em que colunas so exibidas, e defina como a escolhida colunas so classificados Colunas de classificao Lista as colunas que sero classificadas na caixa de dilogo pai. Todas as colunas Lista as colunas que podem ser classificadas na caixa de dilogo pai. Add Move o item selecionado da lista All Columns para a Sort Columns Lista. Mover para cima Move o item selecionado cima na ordem de classificao. Mover para baixo Move o item selecionado para baixo na ordem de classificao. Remover Remove o item selecionado da lista de colunas a ser classificado. Crescente Especifica que os itens na coluna selecionada sero classificados em ordem crescente. Decrescente Especifica que os itens na coluna selecionada sero classificados em ordem decrescente. Consulte

Visual Studio

352

COMO: Navegar dentro do ambiente de desenvolvimento integrado


O IDE (ambiente de desenvolvimento integrado) foi criado para tornar mais fcil de mover a janela da janela e documento ao documento. O IDE fornece vrias maneiras para mover rapidamente entre documentos abertos. Do IDE Navigator voc pode usar para mover rapidamente para documentos que voc est editando e para abrir janelas de ferramentas. Para obter mais informaes sobre exibio e uso o IDE Navigator, consulte HOW TO: Windows IDE de lista e arquivos Active. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Esta pgina Ajuda foi gravada com General Development Settings em mente. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Selecionar Windows do documento Se voc tiver Tabbed Documents Modo selecionado no documento Geral, Ambiente, caixa de dilogo Opes,. janelas so colocadas lado a lado-em painis com guias como eles so abertos Esse modo IDE padro simplifica para percorrer os documentos que voc est editando. Para percorrer documentos abertos por ordem de uso

Pressione CTRL + TAB para ativar documentos abertos na ordem que eles foram mais recentemente toucheds. Pressione CTRL + SHIFT + TAB para ativar documentos abertos na ordem inversa.

Para obter informaes sobre marcando e localizando locais especficos em arquivos, consulte Navegar atravs de cdigo. Para obter informaes sobre como salvar uma lista pessoal de til tpicos de ajuda, consulte Ajudar a janela de favoritos (Ajuda Explorer documento Microsoft). Consulte tambm

Automao e extensibilidade para Visual Studio


Automao e extensibilidade se refere a capacidade de forma programtica automatizar tarefas repetitivas e estender (IDE) o Visual Studio ambiente de desenvolvimento integrado com ferramentas como os suplementos e assistentes. Os tpicos a seguir explicam como usar os diversos modelos de programao para fazer isso.

Estendendo o ambiente Visual Studio


Embora Visual Studio voc talvez precise um nvel de controle adicionais ou maiores. oferece vrias ferramentas e a energia para executar quase cada tarefa, Por exemplo, convm automatizar uma tarefa ou uma srie de tarefas que voc executar regularmente. Ou voc pode ter criado ferramentas que voc deseja usar no ambiente Visual Studio de desenvolvimento integrado (IDE).

Visual Studio

353

Para resolver esses problemas, Visual Studio Rich modelos de programao conhecidos como os modelos de objeto de automao, para estender e automatizar o IDE recursos. Os modelos automao vrios fornecem a capacidade para automatizar o ambiente e fornecer extenses e novos recursos a ela. Cada modelo concentrates a uma rea especfica do IDE, como as janelas ferramenta, o editor de cdigo, vrios projetos, e assim por diante. As sees abaixo apresentar a voc para automao e extensibilidade e mostram como us-los para facilitar a programao.

O que h de novo no extensibilidade e automao do Visual Studio 2005


Apresenta Visual Studio uma srie de modelos de objeto de destino, programvel. Com esses modelos, voc pode acessar os componentes e eventos dentro do Visual Studio ambiente de desenvolvimento integrado (IDE) e seus projetos subjacente. Cada modelo contm tipos e membros que representam solues, projetos, janelas de ferramentas, editores de cdigo, depuradores, objetos de cdigo, documentos, eventos, e mais. Conseqentemente, voc pode estender a funcionalidade de IDE, automatizar tarefas repetitivas, e integrar outros aplicativos ao IDE. Os modelos de objeto possam ser acessados por qualquer um dos quatro mtodos:. Macros, suplementos, assistentes, e o Visual Studio Industry Partner (VSIP) program Novo para Visual Studio 2005 Os Visual Studio modelos de automao tm o seguintes alteraes e novos recursos:

Rather Registro suplemento XML que registrar componentes no Registro do Windows, voc arquivos XML uso agora para definir as configuraes de Registro para Add-ins. Basta copiar o arquivo de Registro XML para as pastas apropriadas para Visual Studio para localizar e carregar o suplemento. Os arquivos contm comentrios que descrevem as marcas vrios, que ajudam a facilmente localizar e editar suas configuraes. Quando voc criar Add-ins, usando esse arquivo criado automaticamente. o Add-In Manager, Para obter mais informaes, consulte Add-in de registro. o DTE2.Toolwindows Novo EnvDTE80.ToolWindows objeto tambm est disponvel como a EnvDTE80.DTE2.ToolWindows propriedade. Ele melhora a descoberta e usabilidade de janelas de ferramentas no modelo de objeto, fornecendo acesso fcil s janelas ferramenta no IDE em seus tipos nativos. janelas de ferramentas Visual Studio podem ser acessadas atravs das propriedades membro. Outras janelas ferramenta podem estar localizadas com a nova GetToolWindow Funo. o DTE.Toolwindows.CreateToolWindow2 Novo CreateToolWindow2 mtodo torna mais fcil para criar suas prprias janelas de ferramentas personalizada que hospedam os controles do usurio. Um controle correo no mais necessrio. o Cdigo gerenciado Add-ins Add-In Wizard oferece suporte agora em C++, assim, o .NET Framework como obter recursos de gerenciado Satellite DLLs. No Ferramentas opes gerenciados Opes ferramentas para cdigo gerenciado. h novas opes no menu

a Suplemento Assistente e Visual J# Add-In Wizard agora oferece suporte criando Add-ins usando Visual J# e Visual C++ 2005.

Visual Studio

354

o Eventos KeyPress modelo de automao Editor oferece um novo EnvDTE80.TextDocumentKeyPressEvents objeto que tem dois eventos para lidar com entradas pressionamento de de Tecla no Editor: EnvDTE80.TextDocumentKeyPressEventsClass.BeforeKeyPress e EnvDTE80.TextDocumentKeyPressEventsClass.AfterKeyPress. o Mtodo InsertNewLine modelo de automao Editor oferece um novo EnvDTE80.EditPoint2.InsertNewLine(System.Int32) mtodo para inserir linhas em documentos no editor. Solues Pastas de soluo agora podem conter pastas Solution, alm de projetos. So Pastas de Soluo (Solution Folders) recipientes do projeto que permitem a voc para organizar melhor aplicativos grandes. do Lista de tarefas (Visual Studio) Agora voc Tarefas de navegao padro lista pode ir diretamente para linhas de cdigo clicando duas vezes em itens em sem que seja necessrio fornecer cdigo adicional. o Localizar sncrona EnvDTE80.DTE2.Find Objeto oferece uma nova propriedade EnvDTE80.Find2.WaitForFindToComplete,. que permite a voc para especificar se uma pesquisa executada de forma sncrona ou assincronamente Algumas Suporte barra Comando Janela ferramenta janelas ferramenta incluem uma barra de ferramentas para acessar sua funcionalidade. Embora essas barras de ferramentas no esto disponveis a partir da CommandBars coleo no objeto DTE, eles so disponveis no objeto Window da janela da ferramenta. o AddNamedCommand avanada Novo EnvDTE80.vsCommandControlType Parmetro em AddNamedCommand2 agora permite-lhe especificar o estilo de um boto, como somente texto, apenas, cone ou texto e cone. Voc tambm pode criar tipos adicionais de controles para colocar nas barras de ferramentas e menus, como controles caixa de listagem, controles da caixa de edio da, e controles menu drop-down. Macros de exemplo Localizao agora esto localizadas, e o Assistente para Adicionar-in gera Add-ins com o idioma apropriado. Por exemplo, se voc estiver executando japons Visual Studio, add-ins so criados usando os modelos Japons (se eles esto disponveis). Agora voc Add-in e segurana de macro pode especificar se as macros so permitidas para executar, se os suplementos tm permisso para carregar, e onde Visual Studio procura por arquivos de configurao.AddIn. Para obter mais informaes, consulte Add-in de segurana e Segurana macros e compartilhamento questes. Funcionalidade barra comando Novo conjunto barra de comando foi movida para um novo Visual Studio conjunto, Microsoft.VisualStudio.CommandBars,. eliminando dependncia na biblioteca Microsoft Office (Mso.dll) Para obter mais informaes, consulte Alteraes CommandBar para o Visual Studio 2005. Todos Consistncia do modelo de cdigo os idiomas de programao em Visual Studio Uso do cdigo principal Modelo em relao a verses anteriores, fazer para uma experincia mais consistente de programao. Um Adies do modelo principal Novo conjunto chamado EnvDTE80 contm um nmero de novos membros de automao. Para obter mais informaes, consulte Novos membros de automao para Visual Studio 2005.

Visual Studio

355

Um Adies do modelo de idioma Novo conjunto chamado VSLangProj80 contm um nmero de novos membros de automao, para Visual Basic, Visual C# e Visual J#. Para obter mais informaes, consulte Novos membros de automao para Visual Studio 2005. Mais Mais cdigo exemplo Tpicos da Ajuda para os diversos modelos de objeto de automao agora recurso cdigo de exemplo. Muitos deles tm ambas Visual Basic e Visual C# cdigo.

Automao e extensibilidade do Visual Studio

Novos membros de automao para Visual Studio 2005


Este tpico contm uma lista de todos os tipos novos para todos os modelos de automao (principais e idioma) em Visual Studio. Adiciona Visual Studio 2005 uma grande quantidade de funcionalidade a Automao e atualiza funcionalidade existente. Para preservar compatibilidade com verses-e facilitar Migrao de cdigo, na maioria dos casos a nova funcionalidade foi adicionada aos novos conjuntos. Isso ajuda a evitar quebrar o cdigo existente que depende as montagens antigas permitindo voc a atualizar os aplicativos com a nova funcionalidade, se voc desejar. Comentrios Existem atualizaes para as reas Recurso de automao a seguir:

Modelo de automao principal Visual Studio / Visual BasicVisual C# Projeto Modelo de automao Modelos de automao Visual C++ Modelo de automao Core Studio Visual

Nova funcionalidade para o Visual Studio modelo de automao principal est em um novo conjunto, EnvDTE80. Este tpico lista todos os seus novos tipos e membros. A biblioteca originais e inalterados usado nas verses anteriores do Visual Studio Como, EnvDTE est includo. Pode, conseqentemente, os suplementos criados no Visual Studio .NET 2002 ou o Visual Studio .NET 2003 na maioria dos casos, ser migradas para Visual Studio 2005. Se voc desejar acessar qualquer uma da nova funcionalidade, no entanto, seu projeto deve incluir uma referncia para EnvDTE80. Visual Basic C# / Model automao Project Visual J# / Visual Nova funcionalidade para todos os o Visual Basic, Visual C#., e Visual J# Modelos de automao do projeto est em um novo conjunto, VSLangProj80 Este tpico lista todos os seus novos tipos e membros. As bibliotecas originais e inalterados usados nas verses anteriores do Visual Studio ou seja, VSLangProj e VSLangProj2 so includos. Conseqentemente, os suplementos criados no Visual Studio .NET 2002 ou Visual Studio .NET 2003 e que consultar esses podem bibliotecas, na maioria dos casos, ser migrados para Visual Studio 2005. Modelos de automao do Visual C++ A seguir uma lista de novos tipos e membros para os Visual C++ modelos de automao. Ela inclui:

Microsoft.VisualStudio.VCProjectEngine.

o modelo de projetos / criar contido em

Microsoft.VisualStudio.VCProject

Visual Studio

356

o modelo de cdigo contido em eo modelo Assistente contido em

Microsoft.VisualStudio.VCCodeModel.

Microsoft.VisualStudio.VsWizard.

Nome Tipo compileAsManagedOptions enum

Novos membros managedAssemblyPure managedAssemblySafe managedAssemblyOldSyntax

Enum BuildWithPropertySheetType compilerErrorReportingType enum eCLRImageType enum eCLRThreadAttribute enum cppExceptionHandling enum eDebuggerTypes enum driverOption enum eFileType enum

Todos Todos Todos Todos Todos Todos Todos eFileTypeCSharpFile eFileTypeClassDiagram eFileTypeMHT eFileTypePropertySheet eFileTypeCUR

eSqlClrPermissionLevel enum eWebRefUrlBehavior enum floatingPointModel enum linkerErrorReportingType enum Enum LinkTimeCodeGenerationOption machineTypeOption enum

Todos Todos Todos Todos Todos machineAM33 machineARM machineEBC machineIA64 machineM32R machineMIPS machineMIPS16 machineMIPSFPU machineMIPSFPU16 machineMIPSR41XX machineSH3

Visual Studio

357

machineSH3DSP machineSH4 machineSH5 machineTHUMB machineAMD64 midlTargetEnvironment enum subSystemOption enum midlTargetIA64 subSystemNative subSystemEFIApplication subSystemEFIBootService subSystemEFIROM subSystemEFIRuntime subSystemPosix subSystemWindowsCE Enum WholeProgramOptimizationTypes IVCBuildOptionsPage Todos ExtensionsToInclude (GET & SET) ExtensionsToHide (GET &amp; SET) ToolFileSearchPaths (GET &amp; SET) ShowMatchingRuleDialog (GET &amp; SET) ShowNoMatchingRuleDialog (GET &amp; SET) ValidateSchemas (GET &amp; SET) DefaultSolutionExplorerMode (GET &amp; SET) IVCWizCtl IVCWizCtlUI Todos DatabaseConnection SuspendParsing ResumeParsing DoesFileOrDirectoryExist solutionExplorerMode VCActiveXReference Todos WrapperSuccessfullyGenerated (get) GenerationErrorMessage (get) VCCLCompilerTool ErrorReporting (GET & SET) EnablePREfast (GET &amp; SET) FloatingPointExceptions (GET &amp; SET) floatingPointModel (GET &amp; SET) GenerateXMLDocumentationFiles (GET &amp; SET)

Visual Studio

358

OmitDefaultLibName (GET &amp; SET) OpenMP (GET &amp; SET) UseFullPaths (GET &amp; SET) UseUnicodeResponseFiles (GET &amp; SET) XMLDocumentationFileName (GET &amp; SET) VCCodeBase VCCodeClass Referncias AddTemplateParameter RemoveTemplateParameter TemplateParameters Referncias VCCodeElement VCCodeEvent Referncias IsVirtual IsShared Funes VCCodeFunction AddTemplateParameter RemoveTemplateParameter TemplateParameters IsSealed Referncias VCCodeModel DotNetNameFromLanguageSpecific LanguageSpecificNameFromDotNet ElementFromID VCCodeParameter IsConstant IsVolatile VCCodeProperty IsTrivial IsVirtual IsShared Funes Parmetros VCCodeReference VCCodeStruct Todos AddTemplateParameter RemoveTemplateParameter TemplateParameters Referncias

Visual Studio

359

VCCodeTypedef VCCodeVariable

Referncias Referncias IsVolatile

VCConfiguration

BuildLogFile (GET & SET) BuildWithPropertySheet BuildWithPropertySheetPath ClearToolProperty Implantar DeploymentTool (get) ExcludeBuckets (GET & SET) InheritedPropertySheets (GET &amp; SET) IntrinsicPropertySheets (GET &amp; SET) PropertySheets (get) Vincular novamente SqlAssemblyOwner (GET & SET) SqlDebugScript (GET &amp; SET) SqlDeploySource (GET &amp; SET) SqlPermissionLevel (GET &amp; SET) SqlPostDeployScript (GET &amp; SET) SqlPreDeployScript (GET &amp; SET) WaitForBuild

VCCustomBuildRule VCDebugSettings

Todos ApplicationArguments (GET & SET) ApplicationCommand DebuggerFlavor (GET & SET) Env (GET &amp; SET) EnvMerge (GET &amp; SET) MPIAcceptFilter (GET &amp; SET) MPIAcceptMode (GET &amp; SET) MPIRunArguments (GET &amp; SET) MPIRunCommand (GET &amp; SET) MPIRunWorkingDirectory (GET &amp; SET) ShimCommand (GET &amp; SET)

VCDirectories

Todos

Visual Studio

360

VCFile VCFileCodeModel

UnexpandedRelativePath IsManaged IsMCOldSyntax

VCFileCodeUnion

AddTemplateParameter RemoveTemplateParameter TemplateParameters Referncias

VCFilter

Remove() UrlBehavior (get)

VCLanguageManager VCLibrarianTool

CompareTokenStreams UseUnicodeResponseFiles (GET &amp; SET) Entradas (get) LinkTimeCodeGeneration (GET & SET)

VCLinkerTool

AdditionalManifestDependencies (GET & SET) AllowIsolation (GET &amp; SET) AssemblyLinkResource (GET &amp; SET) CLRImageType (GET &amp; SET) CLRThreadAttribute (GET &amp; SET) DelaySign (GET &amp; SET) Driver (GET &amp; SET) ErrorReporting (GET & SET) GenerateManifest (GET &amp; SET) KeyContainer (GET &amp; SET) KeyFile (GET &amp; SET) LinkLibraryDependencies (GET &amp; SET) ManifestFile (GET &amp; SET) Profile (GET &amp; SET) ProfileGuidedDatabase (GET &amp; SET) UseLibraryDependencyInputs (GET &amp; SET) UseUnicodeResponseFiles (GET &amp; SET)

VCManagedResourceCompilerTool VCManifestTool VCNMakeTool

AdditionalOptions (GET & SET) Todos AssemblySearchPath (GET & SET) CompileAsManaged (GET &amp; SET)

Visual Studio

361

ForcedIncludes (GET &amp; SET) ForcedUsingAssemblies (GET &amp; SET) IncludeSearchPath (GET &amp; SET) PreprocessorDefinitions (GET &amp; SET) VCPlatform CommitChanges DebuggerTool (get) DefaultDirectory (get) DeploymentTool (get) DisableAlternateDebuggers (get) DumpfileExtensions (get) ExcludeDirectories (GET & SET) ExecutableExtensions (get) GeneralPageTool (get) GetMacroValue GetToolNameForKeyword IsDumpfile IsExecutable NumberOfPlatformMacros (get) PlatformMacro (get) vcprojCATIDS VCProject Todos AddToolFile AssemblyOriginatorKeyFile (GET & SET) AssemblyReferenceSearchPaths (GET &amp; SET) DelaySign (GET &amp; SET) ExcludedPermissions (GET &amp; SET) FullPath (get) GenerateManifests (GET & SET) IncludeHeaderFile LoadUserFile MakeManagedDBConnection ManagedDBConnection (GET & SET) ManagedDBProvider (GET &amp; SET) ManifestCertificateThumbprint (GET &amp; SET) ManifestKeyFile (GET &amp; SET)

Visual Studio

362

ManifestTimestampUrl (GET &amp; SET) RemoveToolFile SaveUserFile ShowAllFiles (GET & SET) SignAssembly (GET &amp; SET) SignManifests (GET &amp; SET) TargetZone (GET &amp; SET) ToolFiles (get) VCProjectConfigurationProperties VCProjectEngine OutputPath AddFakeProps CreatePropertySheet CreateToolFile LoadPropertySheet LoadToolFile PropertySheets RemovePropertySheet ToolFiles (get) ToolFileSearchPaths (GET &amp; SET) ValidateSchemas (GET &amp; SET) VCProjectReference IsProjectLoaded

VCPropertySheet (VCStyleSheet anteriormente) BuildLogFile (GET & SET) FileEncoding ConfigurationType ClearToolProperty Salvar UserMacros AddUserMacro RemoveAllUserMacros VCReference UseInBuild (GET & SET) SET VCReferences () AssemblyName (get) SubType (GET & SET) UseDependenciesInBuild (GET &amp; SET) CopyLocalDependencies (GET &amp; SET)

Visual Studio

363

CopyLocalSatelliteAssemblies (GET &amp; SET) CopyLocal (GET &amp; SET) VCReferences Referncias (get) AddAssemblyReferenceWithStrongName CanAddAssemblyReferenceWithStrongName AddProjectReferenceByIdentifier CanAddAssemblyReferenceByIdentifier AddReferenceToFile CanAddReferenceToFile VCRuntimeBooleanProperty VCRuntimeEnumProperty VCRuntimeEnumValue VCRuntimeIntegerProperty VCRuntimeProperty VCRuntimeStringProperty VCToolFile VCUserMacro VCXDCMakeTool Todos Todos Todos Todos Todos Todos Todos Todos Todos

A seguir esto tipos e membros que foram removidos da Visual Studio 2005. Nome Tipo genProxyLanguage enum pchOption enum Enum RemoteDebuggerType Membros excludo genProxyCs pchGenerateAuto RemoteLocal RemotePipe runtimeLibraryOption enum rtSingleThreaded rtSingleThreadedDebug VCActiveXReference SET ControlGUID () SET ControlVersion () SET ControlLocale () VCAssemblyReference VCAuxiliaryManagedWrapperGeneratorTool VCCodeClass SET RelativePath () Todos AddEvent Templateization (get) VCCodeFunction Templateization (get)

Visual Studio

364

VCCodeStruct VCCodeUnion VCCLCompilerTool

Templateization (get) Templateization (get) GlobalOptimizations (GET & SET) ImproveFloatingPointConsistancy (GET &amp; SET) OptimizeForProcessor (GET &amp; SET) OptimizeForWindowsApplication (GET &amp; SET)

VCConfiguration

AppliedStyleSheets (GET &amp; SET) BuildBrowserInformation (GET &amp; SET) SET StyleSheets () ReferencesPath (GET & SET) FullReferencesPath (get) ReferenceTools (get)

VCDesignerReference VCFileCodeModel VCFilter VCManagedWrapperGeneratorTool VCPrimaryInteropTool VCProjectConfigurationProperties VCProjectEngine VCProjectReference

Todos Sincronizar Excluir Todos Todos BuildBrowserInformation (GET &amp; SET) RemoveProject NativeOutputForConfiguration SET ReferencedProjectIdentifier () SET ReferencedProject ()

VCReference

BaseFileNameForConfiguration BuildNumberForConfiguration CultureForConfiguration FullPathForConfiguration MajorVersionForConfiguration MinorVersionForConfiguration Nome (set) PublicKeyTokenForConfiguration ReferenceConfigurations ReferenceIsManaged RevisionNumberForConfiguration StrongNameForConfiguration

Visual Studio

365

VersionForConfiguration VCReferenceconfiguration VCStyleSheet (changed to VCPropertySheet Todos Plataforma BuildBrowserInformation (GET &amp; SET) ToolSet (GET & SET) ReferencesPath (GET & SET) A seguir esto tipos e membros que foram alterados no Visual Studio 2005. Nome Tipo Membros alterados Alterao Era managedAssembly = 2 Alterao de nome membro Alterao de nome membro Era pchNone Parmetro adicionado Era NonBrowsable Parmetro digite alterao Parmetro digite alterao Parmetro digite alterao Parmetro digite alterao Parmetro digite alterao Parmetro digite alterao Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de

compileAsManagedOptions enum managedAssembly midlTargetEnvironment enum genProxyLanguage enum pchOption enum IVCProjectEngineEvents VCActiveXReference VCConfiguration midlTargetWin64 (midlTargetAMD64 agora) genProxyManagedCpp (genProxyManaged agora) pchNone = 0 ItemPropertyChange WrapperTool ManagedExtensions (GET & SET) WholeProgramOptimization (GET & SET) VCCLCompiler VCLinkerTool ExceptionHandling (GET & SET) LinkTimeCodeGeneration (GET & SET)

VCProjectConfigurationProperties WholeProgramOptimization (GET & SET) ManagedExtensions (GET & SET) VCReference BuildNumber CopyLocal (GET &amp; SET) Cultura Descrio FullPath Identidade

Visual Studio

366

parmetro Label MajorVersion MinorVersion Nome (get) PublicKeyToken Referncia RevisionNumber StrongName Version VCReferences AddAssemblyReference AddActiveXReference AddProjectReference RemoveReference Contagem VCStyleSheet / VCPropertySheet StyleSheetName (PropertySheetName agora) StyleSheetFile (PropertySheetFile agora) AppliedStyleSheets (InheritedPropertySheets agora) ManagedExtensions StyleSheetDirectory (PropertySheetDirectory agora) PropertySheet (get) VCXMLDataGeneratorTool GeneratedProxyLanguage (GET & SET) (now Namespace) Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome de parmetro Parmetro digite alterao Alterao de nome de parmetro Alterao de nome de parmetro Alterao de nome membro

Visual Studio

367

Prticas recomendadas para segurana na automao


Os desenvolvedores de automao Visual Studio devem compreender e aceitar a responsabilidade de criao de aplicativos seguros por noes bsicas sobre vulnerabilidades de segurana. Um aplicativo seguro protege a confidencialidade, integridade, e disponibilidade de informaes a clientes '. Alm disso, protege a integridade e disponibilidade de recursos de processamento, que controla proprietrio ou administrador do sistema. Para fins de discusso, uma vulnerabilidade de segurana uma falha em um produto que permite um invasor mesmo quando o produto usado corretamente para:

apropriado privilgios no sistema do usurio, regular, alterar ou redirecionar sua operao, comprometer seus dados, - ou Suponha confiana ungranted. Importante

Nunca pressupem que ser o aplicativo ser executado em alguns ambientes determinados, somente especialmente se o aplicativo ficar muito popular. Possibilidade proporcional que ele ser usado em outro, imprevistas, configurao. Suponha que seu cdigo ser executado nos ambientes hostis mais ser em vez disso. Criar, gravar, e testar seu cdigo de acordo. H benefcios para criar aplicativos seguros. Cdigo que inicialmente projetado e criado com segurana em mente mais robusto que cdigo escrito com segurana que adicionada como um afterthought. Aplicativos com segurana projetados so tambm mais resistente a criticism de mdia, mais atraente para usurios, e menor custo para corrigir e suporte. APIs arriscada Algumas funes API podem ser consideradas mais arriscadas que outros do ponto de vista de segurana. Alguns podem estar inerentemente arriscada na forma que eles funcionam. Outras pessoas podem ser arriscadas se no chamado ou manipulados corretamente. O ponto que voc deve estar familiarizado com as armadilhas e quirks das vrias funes API voc chamar, e se eles representam qualquer classificao de risco de segurana, assegurar que elas so usadas corretamente. Alm disso, alm disso, no assumir que como seu cdigo usa somente funes de API que so consideradas " seguros " que seu aplicativo automaticamente segura e protegida, bem.., bem Negligent prticas de programao podem expor seu aplicativo para como risco ou muito mais do que usar funes supposedly " perigosas ". Tais prticas podem incluir:

No tratamento excees corretamente, Usando caminhos embutidas, Utilizando seqncias de conexo embutidas,

Visual Studio

368

- ou

No verificando credenciais de usurio correta ou permisses.

Completamente para proteger seus aplicativos, voc deve entender questes de segurana de cdigo por pesquisar o assunto. O livro da Microsoft Press, Writing Secure Code, e o site diretrizes codificao de segurana em http://msdn.microsoft.com/library/default.asp?url=/library/enus/dnnetsec/html/seccodeguide.asp so recursos boas. Outro ponto importante para compreender que muitos problemas de segurana resultar de aplicativos que blindly confiam entrada dados. essencial que os aplicativos cuidadosamente examinar e avaliar dados como ele recebido para verificar se os dados vlido e confivel antes de us-lo. Recursos de segurana de automao Alm de seguir estas diretrizes, Visual Studio automao oferece algumas maneiras simples e especficos para ajud-lo a proteger seu sistema de automao exploitations de segurana. Lembre-se, entretanto, que eles so no um panacea de todos problemas de segurana. Em vez disso, eles so um bom comeo. Para informaes, consulte Add-in de segurana. Pesquise e seguir diretrizes de segurana .NET cuidadosamente antes de criar seus aplicativos de automao. Consulte tambm

O espectro de automao Visual Studio


oferece Visual Studio trs nveis diferentes de extensibilidade:. Macros, suplementos e assistentes, e o Visual Studio Industry Partner (VSIP) program Macros Macros so a maneira mais fcil para estender (IDE) o Visual Studio ambiente de desenvolvimento integrado com o cdigo. No somente eles fornecem um aumento grande de produtividade permitindo que voc para registrar vrias aes no IDE e execut-las novamente como um nico comando, elas tambm permitem que voc para saber os Visual Studio modelos automao durante a gravao macros. Macros tambm oferecem um ambiente de desenvolvimento Full-fledged chamado o IDE macros que seja baseado em Ide Visual Studio. Ele usa o Visual Basic idiomas e usado para criar, editar e depurar macros. Para obter mais informaes sobre macros, consulte Automatizar aes Repetitive usando macros. Os suplementos e assistentes Os suplementos so aplicativos tempo-economia labor e anexar a e so usados dentro do Visual Studio ambiente de desenvolvimento integrado (IDE). Do EnvDTE so objetos COM que implementam a IDTExtensibility2 interface e se comunicar com o IDE atravs do modelo de objeto de automao principal que est contido em, e EnvDTE80 montagens. O modelo de ferramentas esto contido no Microsoft.VisualStudio.CommandBars. As linguagens de programao vrios em Visual Studio fornecem objetos de automao adicionais por seus prprios conjuntos. As montagens de automao especficas projeto so: Nome do conjunto VSLangProj Descrio Visual BasicVisual C# e Visual J# projeto modelo de automao.,

Visual Studio

369

VSLangProj2 VSLangProj80 Microsoft.VisualStudio.VCCodeModel Microsoft.VisualStudio.VCProject

Visual BasicVisual C# e Visual J# projeto modelo de automao., Visual BasicVisual C# e Visual J# projeto modelo de automao., Modelo de automao de cdigo Visual C++. Projeto Visual C++ Modelo de automao.

Microsoft.VisualStudio.VCProjectEngine Projeto Visual C++ Modelo de automao. Microsoft.VisualStudio.VsWizard Modelo de automao Assistente Visual C++.

Como Add-ins so cdigo compilado, binrio, sua propriedade intelectual protegida. Voc pode implementar Add-ins em qualquer idioma consuming com tal, Visual C# como Visual C++, Visual Basic e assim por diante. Para a maioria dos desenvolvedores, as macros so suficientes para programao com o Visual Studio modelo de automao. Em alguns casos, entretanto, add-ins pode ser prefervel para desenvolvedores, como os ISVs, que deseja perfeitamente adicionar todos recursos novos ao IDE. Add-ins cabe esses recursos na IDE Visual Studio como se fossem internos. Add-ins tambm permite que sejam fazer algumas coisas que no podem macros. Usando suplementos, voc pode:

Hospedar sua ferramenta de uma menu ou barra de ferramentas no IDE. Isso permite que voc para facilmente acess-lo enquanto voc est programando.

Criar pginas de propriedades personalizadas para a Options caixa de dilogo no menu Tools. Para obter mais informaes, consulte Como criar pginas opes ferramentas personalizadas:.

Criar janelas de ferramentas que agem como Visual Studio janelas de ferramentas. Para obter mais informaes, consulte Criando e Controlling ambiente Windows.

Ativar e desativar comandos de menus e a Visual Studio barra de comando dinamicamente. Para obter mais informaes, consulte Como Adicionar e identificador comandos:.

Adicionar contato e informaes descritivas a ajuda sobre a Visual Studio Caixa.

Assistentes so aplicativos que levar usurios atravs de um processo de criao programas ou realizar tarefas de programao que so mais difceis ou complicado que usual Instrues passo. Por exemplo, Visual Studio oferece o assistente suplemento para ajudar os usurios criar um projeto Add-In e projeto de implantao. Voc pode criar seus prprios assistentes criando um projeto que implementa a IDTWizard interface. Do New Project assistentes so geralmente chamados atravs de ou New File caixas de dilogo. Programa Partner (VSIP) Industry Studio Visual

Visual Studio

370

Para a maioria dos usurios, macros, add-ins, e assistentes atender maioria de suas necessidades em Visual Studio. Entretanto, alguns usurios, precisar ir alm os recursos do modelo Visual Studio de automao considerveis. Por exemplo, um usurio pode querer incorporar um totalmente nova linguagem de programao ao IDE Visual Studio, possivelmente criar uma necessidade de:

Um novo tipo de projeto. Um editor personalizado. Depurao recursos avanados.

O Visual Studio Industry Partner (VSIP) program foi criado para voc pode fazer isso. VSIP fornece a ferramentas e informaes necessrias para integrar o produtos para o Visual Studio ambiente. VSIP, que uma coleo de SDKs, um conjunto do desenvolvedor e plataforma. Ele fornece parceiros VSIP controle maiores e mais ampla sobre o IDE, fornecendo acesso a mais interfaces e Total Visual Studio Integrao ajuda. Parceiros com VSIP, podem fornecer maior funcionalidade em ambiente de criao seus usurios '. Para obter mais informaes, pesquise a ajuda para Visual Studio Industry Partner (VSIP) program, ou visite o site VSIP em http://msdn.microsoft.com/vstudio/Extend.

Escolhendo a abordagem de automao adequada


Fornece Visual Studio vrias opes para criar aplicativos de automao. No entanto, o mtodo exato deve escolher, depender basicamente na tarefa iminente. Para ajudar a orient-lo para o mtodo melhor, considere os seguintes fatores. Voc deseja distribuir o cdigo ou um aplicativo compilado?

Usar Distribuir cdigo uma macro. Voc pode implantar macros, copiando arquivos do projeto uma macro para o novo local. No h nenhuma configurao ou o registro, mas usurios de sua macro dever clique no Tools menu, aponte para Macros, e, em seguida, clique Load Macro Project Para iniciar us-los. Voc tambm pode enviar uma macro como texto para uso por outros usurios. Para obter mais informaes, consulte Como gravar macros:. Usar Distribuir um aplicativo compilado um suplemento ou um assistente, ou um aplicativo que usa as interfaces de automao. Os suplementos, assistentes e outros aplicativos que usam as interfaces de automao proteger sua propriedade intelectual a compilao. No entanto, para distribu-los, voc deve usar um projeto de implantao ou alguma outra forma de instalao. Para obter mais informaes, consulte Como criar um add-in: ou Passo-a-passo: Criando um assistente.

Linguagem de programao que voc deseja usar para desenvolver o aplicativo de automao?

Voc Visual Basic pode criar macros, suplementos, ou assistentes. Para obter mais informaes, consulte Automatizar aes Repetitive usando macros ou Criando Add-ins e assistentes. Voc Outros idiomas pode criar os suplementos e assistentes, usando a IDTExtensibility2 interface e a IDTWizard interface. Voc deve ser capaz para implementar um objeto com able CoCreate-na linguagem de programao. A tarefa requer entrada do usurio? Uma Nenhuma entrada de usurio necessrio macro ou add-in adequado. Para obter mais informaes, consulte Automatizar aes Repetitive usando macros ou Criando Add-ins e assistentes.

Visual Studio

371

Uma Entrada simples macro, Add-in, ou assistente adequado. Se Entrada complexas a entrada tem vrias etapas ou Exigir verificao, um assistente pode ser mais apropriado. Como complicada a tarefa voc estiver automatizando? Se Muito simples voc pode realizar a tarefa na apenas algumas linhas de cdigo, uma macro apropriada. Enquanto Complicado macros podem incluir formulrios, referncias, e classes, um suplemento ou assistente pode ser mais apropriado. Como voc acha que o usurio ser iniciado o aplicativo? Usar Menus ou barras de comando um suplemento. Usar Um atalho de teclado ou o Explorer macro uma macro. Usando Novo projeto ou item novo item de menu um assistente caracterstico para adicionar um novo projeto ou arquivo para um aplicativo. O que o tempo de vida de seu aplicativo? Uma Preciso apenas de hoje macro gravada temporria pode ser suficiente. Uma Eu vai ser usando ele tempo term macro, assistente, ou add-in adequado. O que voc precisa desenvolver? Macros Uma tarefa automatizada , suplementos, e assistentes todos podem ser usados para automatizar tarefas. Para obter mais informaes, consulte Automatizar aes Repetitive usando macros ou Criando Add-ins e assistentes. Adicionar Pginas de propriedades personalizadas para as ferramentas, caixa de dilogo Opes -. ins e assistentes suporte a essa funcionalidade Para obter mais informaes, consulte Como criar pginas opes ferramentas personalizadas:. Adicionar Ferramenta ou documento janela personalizadas -. ins e assistentes suporte a essa funcionalidade Para obter mais informaes, consulte Como ferramenta Windows criar e controlar:. Become Um novo tipo de projeto um parceiro VSIP. Para obter mais informaes, consulte http://msdn.microsoft.com/vstudio/Extend. O suporte para um novo idioma de programao no Visual Studio ou um novo editor Become a VSIP partner.

Funcional grupos de automao


O modelo de objeto de automao consiste expansivas grupos funcional de objetos de alguns,. Esses objetos controlar principais aspectos do ambiente de desenvolvimento integrado (IDE) e aplique a todos os tipos de projeto em Visual Studio. Noes bsicas sobre como esses grupos funcionam torna mais fcil para compreender e usar o modelo. Os objetos nesses grupos funcional totalmente so descritos no Grfico do modelo de objeto de automao. Os grupos so:

Visual Studio

372

Soluo, projeto, e objetos item projeto. Criar objetos. Cdigo objetos Editor. Cdigo objetos de manipulao definio. Ferramenta janela e documente objetos de manipulao. Ferramenta especficas janela-objetos, tais como a Task List, Output janela, e Toolbox. Comandos objetos. Depurao objetos. Objetos de tratamento de eventos.

Cada grupo funcional consiste de um ou mais relacionados objetos, colees, ou interfaces que contribuem para uma finalidade especfica. Por exemplo, a funo primria do grupo objetos do evento para fornecer acesso a eventos que ocorrem no IDE Um tal objeto do grupo o TaskListEvents objeto, que permite que voc para responder a eventos que ocorrem no Task List. Outra nesse grupo o BuildEvents objeto, que permite que voc para responder a eventos que ocorrem em uma operao de criao, como o incio ou concluso de uma compilao. Modelos de automao especficas projetoAlm para o modelo de automao " principal " ento chamado, porque ele Qualquer Visual Studio idioma pode cada idioma em Visual Studio oferece um ou mais automao especficas projeto-modelos para acessar seus recursos especiais. Para Visual Basic, Visual C# e Visual J# projetos, esse modelo est localizado nos seguintes conjuntos:

VSLangProj, VSLangProj2 VSLangProj80

Para obter mais informaes sobre essa funcionalidade, consulte Introduo extensibilidade de projeto. Para Visual C++, os conjuntos so:

Microsoft.VisualStudio.VCCodeModel Microsoft.VisualStudio.VCProject Microsoft.VisualStudio.VCProjectEngine Microsoft.VisualStudio.VsWizard

Eles representam (respectivamente), o Visual C++ modelo cdigo especfico, o Visual C++ modelo de projeto, e o Visual C++ modelo Assistente. Consulte tambm

Acessando o modelo de automao por usando macros


Macros Visual Studio so uma maneira excelente para facilmente obter acesso aos diversos Visual Studio modelos de automao. Use-los para criar ferramentas-com base Automation para uso em Visual Studio. Rpido e fcil de Use

Visual Studio

373

Macros so criadas, executado, e depurado em seu prprio ambiente separado, (IDE) o ambiente de desenvolvimento integrado macros. Conseqentemente, fcil para executar e depurar o cdigo de automao nele, contra o IDE principal, sem iniciar outra instncia do Visual Studio. Como referncias para as bibliotecas de automao Principal. (EnvDTE) j so fornecidos, imediatamente para comear escrever cdigo direita aps iniciar o IDE macros e EnvDTE80 Macros so tambm uma maneira excelente para criar ferramentas de automao rpido, disposable para ajudar a automatizar um processo repetitivo, ou ainda mais sofisticadas ferramentas Automao. Para obter mais informaes sobre como criar, usando, e depurao macros, consulte Automatizar aes Repetitive usando macros. Consulte tambm

Criando Add-ins e assistentes


Embora Visual Studio alguns desenvolvedores exigir um nvel de controle adicionais ou maiores. oferece vrias ferramentas e a energia para executar quase cada tarefa, os desenvolvedores Por exemplo, eles podem ter uma tarefa ou srie de tarefas que executar regularmente e gostaria de automatizar. Para resolver esse problema, Visual Studio recursos um Rich programao modelo, conhecido como o modelo de automao, para estender e automatizar o IDE (ambiente de desenvolvimento integrado). O modelo Automao fornece a capacidade de automatizar o ambiente e fornecer extenses e novos recursos a ela. Para saber mais sobre Gravao e execuo macros As trs maneiras para acessar Visual Studio Automao Grupos functional de objetos no modelo de objeto de automao Como criar Add-ins Como referncia espao para nome EnvDTE e obter uma instncia do objeto DTE Registrar um suplemento Como limitar o acesso a arquivo de Registro Xml.AddIn do seu projeto Expor Add-ins nos menus e barras de ferramentas Conectando Add-ins a teclas de atalho Novas alteraes na funcionalidade barra de comando Como restaurar comandos que desaparecem de um menu Consulte Automatizar aes Repetitive usando macros O espectro de automao Visual Studio Funcional grupos de automao Como criar um add-in: Referncia conjuntos de automao e o objeto DTE2 Add-in de registro Add-in de segurana Exibindo Add-ins em barras de ferramentas e menus Comandos Suplemento de ligao para chaves Alteraes CommandBar para o Visual Studio 2005 Como restaurar comandos suplemento para o menu:

No ambiente carregando, descarregando, e controlar Add-ins HOW TO: com o Gerenciador de Suplementos controle Add-ins

Visual Studio

374

Depurao Add-ins Criando um assistente Iniciar assistentes programaticamente Arquivos do assistente (.vsz) Arquivos VSDir, a Add Item e New Project caixas de dilogo e como elas afetam

Depurao Walkthrough: um projeto Addin Passo-a-passo: Criando um assistente Parmetros de contexto para Launching assistentes Configurando Arquivos VSZ para iniciar assistentes Adicionando assistentes para a Adicionar Item e novas caixas de dilogo Project usando arquivos VSDir

Como criar uma nova instncia de Visual Studio forma Como criar e anexar a outra instncia do programtica ou anexar a uma instncia especfica de Visual Visual Studio: Studio que j est executando Como atualizar projetos de automao das verses anteriores do Visual Studio para Visual Studio 2005. Migrando e atualizando Add-ins do Visual Studio .NET 2003 para o Visual Studio 2005

Referncia conjuntos de automao e o objeto DTE2


Para criar aplicativos de automao, voc deve executar etapas para obter acesso a membros de automao. Primeiro, voc deve fazer referncia os conjuntos de automao necessrios, e Segundo, voc deve obtm uma referncia para o objeto DTE2 de nvel superior. No Visual Studio .NET 2002 e Visual Studio .NET 2003, todos os itens de automao principais estavam localizados em um conjunto nomeado EnvDTE, e seu objeto maior, hierrquica o DTE objeto. Ele o objeto pai para todos os objetos de automao principais, colees, e seus membros. Derivar DTE2 de DTE. Para Visual Studio 2005, adies e atualizaes foram feitas para alguns desses objetos, colees, e membros. Em vez de atualizar o conjunto existente e comprometer compatibilidade com verses-para existente Add-ins e projetos de automao, novo e atualizado toda funcionalidade est em um conjunto chamado EnvDTE80 (EnvDTE verso 8.0). Mais funes atualizadas no EnvDTE80 manter os mesmos nomes que verses anteriores mas acrescentar o nmero 2 ao nome da funo. Por exemplo, a nova verso da coleo TaskItems denominada TaskItems2, e a nova verso do objeto Solution chamada Solution2. Como os novos membros so mais robusta que verses anteriores e contm a funcionalidade mais recente, a abordagem recomendada para usar os novos objetos e colees ao escrever novos aplicativos de automao. Para obter uma lista completa dos novos objetos e colees, consulte Novos membros de automao para Visual Studio 2005. Embora novos itens sejam no EnvDTE80, a maior parte da funcionalidade de automao do principal ainda em EnvDTE. Assim, quando voc escrever novos aplicativos de Automao (como os suplementos), certifique-se referncia ambos EnvDTE e EnvDTE80. Para fazer isso em uma etapa fazendo referncia a biblioteca COM. " Ambiente de desenvolvimento Microsoft 8.0 ". Alm disso, se voc usar membros do conjunto EnvDTE, precisar tambm definir uma referncia ao tanto o DTE objeto e o DTE2 objeto. Isso fornece acesso a todos os itens. Para obter informaes sobre ganhar acesso aos modelos de objeto especficos projeto-, consulte Funcional grupos de automao.

Visual Studio

375

Nesta seo Como adicionar referncias a EnvDTE e Namespaces EnvDTE80: Demonstra como adicionar referncias para os espaos para nome apropriado. Erro usando EnvDTE com conjuntos VSLangProj Descreve um possvel erro voc pode receber quando um projeto usa o EnvDTE conjunto e uma ou mais dos VSLangProj conjuntos. Como obter referncias a do DTE e objetos DTE2: Demonstra como obter referncias aos objetos apropriados. Anexar a instncias especficas do IDE Fornece informaes sobre como fazer referncia uma instncia especfica de (IDE) o ambiente de desenvolvimento integrado. Sees relacionadas Grfico do modelo de objeto de automao Fornece um mapa grfico a todos os componentes compartilhados do modelo de objeto de automao. Criando Add-ins e assistentes Fornece informaes bsicas sobre como criar suplementos e assistentes no Visual Studio.

Controlar projetos e solues


O Visual Studio modelo de automao fornece objetos e colees que permitem que voc para controlar a soluo, projetos, e os itens de projeto dentro do projeto, independentemente da linguagem de programao na qual o aplicativo foi escrito. Este ncleo, modelo de automao projeto agnostic idioma, alm de cada idioma programao possui seu prprio modelo de automao do projeto que fornece acesso a recursos exclusivos para esse idioma. Objetos e colees

O Solution2 objeto e a Projects coleo e Projects. () contenha, uma referncia para a soluo, bem como referncias a todos os projetos nessa soluo, respectivamente que retornado pelo Projects A ProjectItems coleo representa todos os itens contidos em um projeto (Project. com exceo dos projetos virtuais), O ProjectItem objeto representa itens individuais dentro do projeto.

Um projeto virtual uma que no est associado a um projeto especfico mas est associado a soluo em vez disso. Uma soluo pode conter dois projetos virtuais adicionais: a itens soluo e os projetos Miscellaneous arquivos. Para saber mais sobre Controlando a soluo, e projetos na soluo. Como programaticamente criar soluo e projeto configuraes de Consulte Controlar a soluo e seus projetos Como criar solues e configuraes construir Project:

Visual Studio

376

compilao. Lidando com projetos que no oferecerem suporte o Visual Studio modelo de automao. Trabalhando com os projetos virtuais itens Solution e itens Miscellaneous projetos. Unmodeled Overview de projetos

Trabalhar com itens Solution e itens Miscellaneous

Salvando soluo e projeto Persisting informaes nos projetos e solues varivel valores entre sesses IDE (ambiente) de desenvolvimento integrado. Manipular Solution Explorer. Controlando Visual Basic, Visual C#,. e Visual J# projetos Controle Visual C++ Projetos. HOW TO: controle Solution Explorer Introduo extensibilidade de projeto

e Microsoft.VisualStudio.VCProjectMicrosoft.VisualStudio.VCProjectEngine.

Criando e Controlling ambiente Windows


O Visual Studio IDE (ambiente de desenvolvimento integrado) composto de vrias janelas de ferramentas. Uma janela ferramenta uma janela criado por Visual Studio, ou um que pode ser manipulado pelo Visual Studio Automao. O Visual Studio modelo de automao permite que voc se manipular suas janelas e em muitos casos, seu contedo. Por exemplo, a janela ferramentas representada pelo objeto ToolBox,, bem como a ToolBoxTabs. e ToolBoxItems Colees Voc pode usar seus membros para adicionar e remover guias e itens ferramentas. Voc tambm pode criar suas prprias janelas de ferramentas para atender seu contedo personalizado. Enquanto algumas janelas ferramenta, como Solution Explorer e a Class View janela ferramenta, no faa tm recursos de automao explcitas, voc pode manipular as janelas prprios ainda. Solution Explorer uma janela ferramenta no IDE Visual Studio que exibe uma imagem de sua soluo e seus projetos e seus itens de projeto fsico, com base em arquivo. Como qualquer outra janela ferramenta no Visual Studio, voc pode controlar seus parmetros fsicos, como tamanho, local, e se ele est ancorada ou Free-floating. Class View uma janela que exibe os smbolos ferramenta definido, referenciado ou chamado no aplicativo que esteja desenvolvendo. Para informaes, consulte Como alterar caractersticas da janela:. Para saber mais sobre Alterar as caractersticas fsicas de uma janela ferramenta, como sua altura, largura, e assim por diante. Manipular cdigo fonte e texto no editor do cdigo. Consulte Como alterar caractersticas da janela: Como controlar o editor de cdigo (Visual Basic):

Visual Studio

377

Automatizar operaes de pesquisa e substituio no Editor Como pesquisar e substituir automatizar do cdigo. texto: Manipular Solution Explorer e seu contedo. Usando o Visual Studio modelo de cdigo para descobrir cdigo. Manipular a Output janela e seu contedo. Alterar as configuraes na caixa Options de dilogo no menu Tools. Do Toolbox manipular e seu contedo. Do Task List manipular e seu contedo. Manipular a Command janela e seu contedo. Manipulao da Dynamic Help janela e afetar atributos. HOW TO: controle Solution Explorer Descobrir Cdigo com o modelo de cdigo (Visual Basic) Como controlar a janela de sada: Controlar configuraes opes ferramentas Como controlar a caixa de ferramentas: Como controlar a lista de tarefas: Como controlar a janela de comando: Como controlar a janela da Ajuda dinmico:

Manipular a gravao de macros a partir de um suplemento. Como usar Add-ins para macros de controle: Controlando modos de exibio de rvore em janelas de ferramentas usando o UIHierarchy objeto. Criar e manipular janelas de ferramentas. HOW TO: Manipulate modos de exibio da rvore usando UIHierarchy Como ferramenta Windows criar e controlar:

Como criar e anexar a outra instncia do Visual Studio:


Em alguns casos til para criar uma nova instncia de Visual Studio forma programtica ou anexar a uma instncia especfica de Visual Studio que j est sendo executado. Se duas instncias da Visual Studio estiver executando em um sistema e ter a mesma soluo abrir por exemplo, uma instncia est executando uma compilao de soluo e o outro executar uma compilao de depurao voc pode programar o suplemento para diferenci-las. Voc pode, por exemplo:
o

Iniciar uma ocorrncia Visual Studio com base em um caminho para um arquivo ou soluo. Anexar a uma instncia Visual Studio com base em um caminho para um arquivo ou soluo. Carregar um arquivo ou soluo em uma instncia existente do Visual Studio. Criar uma nova instncia de Visual Studio onde a instncia desligado quando: A contagem de referncia externa em ambos o DTE objeto e o Solution objeto so 0. eO ambiente de desenvolvimento integrado (IDE) no exibida para o usurio ou no est sob controle de usurio. Criar uma nova instncia de Visual Studio onde a instncia permanece carregada mesmo quando:

Visual Studio

378

o o

A contagem de referncia externa em ambos o DTE objeto e o Solution objeto so 0. O IDE ser exibido para o usurio. eO IDE est sob controle de usurio.

Os objetos retornados podem ser convertidos em seus objetos respectivos, tais como DTE2 e Solution2. Observao As caixas de dilogo e comandos de menu que voc v podem ser diferentes das descritas em Help (Ajuda) dependendo das configuraes ativas ou edio. Esses procedimentos foram desenvolvidos com as configuraes Development geral ativo. Para alterar as configuraes, escolha Import e Export Settings no menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Exemplo Para criar uma nova instncia do Visual Studio, use um ou System.Activator.CreateInstance. o Funo CreateObject (Visual Basic) Ao usar a CreateObject funo no Visual Basic, voc pode passar valores de um "VisualStudio.DTE.8.0" ou "VisualStudio.Solution.8.0." os exemplos abaixo ilustrar esses mtodos trs. C#
// Create a new instance of Visual Studio by using // GetTypeFromProgID and CreateInstance. private void CreateNewInstance1() { System.Type type = System.Type.GetTypeFromProgID ("VisualStudio.DTE.8.0"); Object obj = System.Activator.CreateInstance(type, true); EnvDTE80.DTE2 dte8Obj = (EnvDTE80.DTE2)obj; }

No exemplo Visual Basic, ambas as instrues criar uma nova instncia de IDE Visual Studio. A primeira instruo diretamente cria uma nova instncia enquanto a segunda instruo cria uma nova instncia, criando uma nova soluo. Para obter uma referncia a uma instncia existente do IDE Visual Studio, voc pode usar o Funo GetObject (Visual Basic). Voc pode siga um destes procedimentos: Visual Basic
Private Sub GetInstance1 () Dim inst As Object Dim dte80Obj As EnvDTE80.DTE2 inst = Microsoft.VisualBasic.Interaction.GetObject(, _ "VisualStudio.DTE.8.0") dte80Obj = CType(inst, EnvDTE80.DTE2) MsgBox(dte80Obj.DisplayMode.ToString) End Sub ' -orDim inst As Object inst = Microsoft.VisualBasic.Interaction.GetObject(, _ "VisualStudio.Solution.8.0") ' --------------------------' -or' Change the path to your application. Dim inst As Object inst = Microsoft.VisualBasic.Interaction.GetObject _

Visual Studio

379

("C:\Projects\WindowsApplication1\WindowsApplication1.sln") ' --------------------------' -or' Change the path to your application. Dim inst As Object inst = Microsoft.VisualBasic.Interaction.GetObject _ ("C:\Projects\WindowsApplication1\WindowsApplication1.sln", _ "VisualStudio.Solution.8.0")

Estendendo o ambiente Visual Studio


Embora Visual Studio voc talvez precise um nvel de controle adicionais ou maiores. oferece vrias ferramentas e a energia para executar quase cada tarefa, Por exemplo, convm automatizar uma tarefa ou uma srie de tarefas que voc executar regularmente. Ou voc pode ter criado ferramentas que voc deseja usar no ambiente Visual Studio de desenvolvimento integrado (IDE). Para resolver esses problemas, Visual Studio Rich modelos de programao conhecidos como os modelos de objeto de automao, para estender e automatizar o IDE recursos. Os modelos automao vrios fornecem a capacidade para automatizar o ambiente e fornecer extenses e novos recursos a ela. Cada modelo concentrates a uma rea especfica do IDE, como as janelas ferramenta, o editor de cdigo, vrios projetos, e assim por diante. As sees abaixo apresentar a voc para automao e extensibilidade e mostram como us-los para facilitar a programao. Nesta seo O que h de novo no extensibilidade e automao do Visual Studio 2005 Descreve as atualizaes e melhorias de extensibilidade e automao os modelos em Visual Studio 2005 Vrios. Novos membros de automao para Visual Studio 2005 Lista os novos tipos especficos e membros em Visual Studio 2005 Destaque. Prticas recomendadas para segurana na automao Fornece conselhos para ajudar voc segura Visual Studio e os aplicativos de automao. O espectro de automao Visual Studio Descreve os tipos de projetos de automao disponveis para voc em Visual Studio: macros, add-ins e assistentes e VSIP. Escolhendo a abordagem de automao adequada Ajuda voc a escolher as ferramentas mais eficientes para usar para realizar suas tarefas de automao. Funcional grupos de automao Lista as diversas reas de Visual Studio que pode ser automatizada. Acessando o modelo de automao por usando macros Ilustra como programa contra os diversos modelos de automao usando macros. Criando Add-ins e assistentes Descreve os conceitos de automao e extensibilidade,, bem como os fundamentos de como criar suplementos e assistentes. Referncia conjuntos de automao e o objeto DTE2

Visual Studio

380

Fornece detalhes sobre como usar as ferramentas fundamentos de automao. Controlar projetos e solues Ilustra como controlar projetos e solues usando Visual Studio objetos de automao, como salvar variveis entre sesses IDE; como para trabalhar com itens de soluo, diversos itens, e unmodeled projetos; e como criar configuraes de soluo. Criando e Controlling ambiente Windows Explica como criar e controlar janelas de ferramentas, alterar caractersticas janela, automatizar pesquisa de texto e substituir, controlar macros, controlar configuraes opes ferramentas, descobrir Cdigo com o modelo de cdigo, e manipular modos de exibio de rvore, usando UIHierarchy. Como criar e anexar a outra instncia do Visual Studio: Explica como criar uma nova instncia do Visual Studio ou anexar a um arquivo existente. Respondendo a eventos de automao Demonstra como usar o Visual Studio modelo de automao para manipular eventos que ocorrem no ambiente. Como Adicionar e identificador comandos: Explica como criar e manipular comandos em Visual Studio Menus ou barras de ferramentas usando o Visual Studio modelo de automao. Criando DLLs satlite Managed Walkthrough: Fornece informaes sobre como criar satlite DLLs, que pode conter recursos para uso em seus aplicativos de automao. Implementar e usando Extenders de automao Explica como adicionar e filtrar propriedades em objetos usando Extenders Automao. Sees relacionadas Personalizar o ambiente de desenvolvimento Demonstra como personalizar barras de ferramentas, teclas de atalho, e outros Visual Studio itens. Automatizar aes Repetitive usando macros Explica como criar e usar macros para automatizar aes no Visual Studio.

Macros do Visual Studio


Uma macro uma srie de comandos e instrues que voc agrupa como um nico comando para realizar uma tarefa automaticamente. Macros permite que sejam automatizar aes repetitivas. Inclui Visual Studio o ambiente de desenvolvimento integrado macros (IDE), que usado somente para criar, manipular, editar, e execute macros. O IDE de Macros separado do IDE Visual Studio. Nesta seo Como gravar macros: Descreve como criar e gravar macros.

Visual Studio

381

HOW TO: executar macros Aborda vrias maneiras de executar macros e passar parmetros. Gravao de Macro e executando questes Oferece solues para problemas normalmente encontrados na gravao e execuo macros. Como gerenciar macros: Descreve como editar uma macro existente ou criar um novo arquivo manualmente. Depurar macros Descreve o que fazer quando ocorrem erros em suas macros. Como gerenciar macros: Descreve o Explorer macros e seus menus de contexto. Salvar e exportando arquivos macros Descreve como salvar e exportar arquivos macro no IDE de Macros. Diferenas funcionalidade entre Macros do Visual Studio e Visual Studio Descreve diferenas no modelo de extensibilidade, Document objeto, propriedades, operao item, o Find mtodo, projetos, e Ferramentas Opes entre Visual Studio macros e Visual Studio. Como referncia com e componentes .NET Framework em macros: Descreve como habilitar Visual Studio macros para referncia componentes COM usando o utilitrio TLBIMP. HOW TO: identificador eventos de ambiente em macros Discute o modelo EnvironmentEvents, o OnMacrosRuntimeReset evento e o OnStartupComplete evento. Segurana macros e compartilhamento questes Aborda as questes de segurana principal sobre macros: Proteo de propriedade intelectual, e preveno de vrus e proteo. Exemplos macros Lista e descreve as macros amostras includas Visual Studio. Sees relacionadas Automatizar aes Repetitive usando macros Fornece uma viso geral sobre como usar macros para automatizar procedimentos ou seqncias repetidas de pressionamentos de teclas. Ambiente de Desenvolvimento macros Descreve todas as caixas de dilogo do IDE de Macros. Macros Fornece detalhes sobre o Macros objeto, que representa o Visual Studio Gravador de macro. Mensagens de erro Macros do Visual Studio Lista todas as mensagens de erro associadas a Visual Studio macros.

Visual Studio

382

Como usar Add-ins para macros de controle: Descreve como usar objeto o Visual Studio do modelo Macros de automao para macros de controle sendo registradas no IDE, incluindo pausar e reativar o gravador, escrever cdigo para a macro sendo gravadas, e determinar se o gravador est funcionando no momento. Consulte tambm

Introduo extensibilidade de projeto


O modelo de objeto est disponvel simplesmente, adicionando uma referncia para os conjuntos VSLangProj.dll, VSLangProj2.dll e VSLangProj80.dll a qualquer projeto. Para obter mais informaes, consulte COMO: Adicionar ou remover referncias no Visual Studio.Isso significa que o modelo de objeto est disponvel para Macros, suplementos, e qualquer tipo de projeto que precisa para estender ou automatizar o IDE. Macros so gravadas no ambiente de desenvolvimento integrado macros usando Visual Basic. Do Visual Basic nos tpicos Os exemplos so gravados em e Visual C# idiomas. Para obter mais informaes sobre como executar os exemplos, consulte Como compilar e executar objeto automao os exemplos cdigo do modelo:. Add-ins pode ser gravados em qualquer um dos idiomas .NET,, Visual C++ incluindo Visual C#Visual Basic. e Visual J# Os tpicos de referncia para e VSLangProj80 membros incluir a sintaxe para cada um desses idiomas. o VSLangProj, VSLangProj2 Para obter uma descrio dos tipos do projeto de automao e recursos de automao, consulte Criando Add-ins e assistentes. VSLangProj, VSLangProj2 e Namespaces VSLangProj80 Esses espaos para nome contm todos os as classes, interfaces, e enumeraes para Visual Basic, Visual C# e Visual J# projetos. Para obter uma lista completa dos objetos no espao para nome, consulte Modelo de Objeto de Extensibilidade para projetos Visual Basic, Visual C# e Visual J#. Possvel erro usar conjuntos VSLangProj com assembly EnvDTE Ocasionalmente se voc criar um projeto que referencia um ou mais dos conjuntos VSLangProj e o EnvDTE conjunto, voc pode obter o seguinte erro em tempo de execuo: ": ": Unhandled Exception System.IO.FileNotFoundException Erro ao carregar arquivo EnvDTE, verso ' = 7.0.3300.0 Esse erro devido a um conflito de resoluo tipo Runtime. Ou seja, a verso do EnvDTE que includa no Visual Studio 2005 8.0.xx, mas referncia de configurao do projeto est procurando por uma verso anterior desse conjunto, 7.0.xx verso. Para corrigir esse problema, voc deve adicionar um redirecionamento de ligao para a verso mais recente EnvDTE ao arquivo de configurao (.config) do seu projeto. Isso permitir Visual Studio para carregar a verso mais recente do EnvDTE e evitar que o erro ocorra. Para fazer isso, adicione um " arquivo de configurao de aplicativos " ao seu projeto e substitu seu contedo pelo seguinte:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoftcom:asm.v1" appliesTo="v2.0.50318"> <dependentAssembly> <assemblyIdentity name="EnvDTE" publicKeyToken= "b03f5f7f11d50a3a"/> <bindingRedirect oldVersion="7.0.3300.0"

Visual Studio

383

newVersion="8.0.0.0"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>

Objeto VSProject2 Este objeto fornece acesso a outros objetos no modelo de extensibilidade. O objeto DTE o objeto de nvel superior no modelo Visual Studio de automao. No modelo de extensibilidade geral, um projeto representado pelo objeto genrico Project. O Project objeto tem uma Object propriedade. O tipo da propriedade determinado em tempo de execuo pelo idioma do projeto. Na ou Visual J# projeto, a Object propriedade retorna um objeto do tipo VSProject2. a Visual Basic, Visual C# Como o tipo da propriedade Object objeto, voc deve convertido a referncia ao digitar VSProject2. Em uma macro, a converso seria como o seguinte se o primeiro projeto foram um Visual Basic projeto: C#
using EnvDTE; using EnvDTE80; using VSLangProj; using VSLangProj2; using VSLangProj80; EnvDTE.Project proj; VSLangProj80.VSproject2 vsproject; proj = DTE2.Solution.Projects.Item(1); vsproject = (VSLangProj80.VSProject2)proj;

Depois que voc tiver uma referncia para o VSProject2 item, voc pode manipular do projeto Propriedades, configuraes, arquivos, pastas, instrues importaes, e referncias. Para obter mais informaes, consulte Introduo ao objeto VSProject2. Referncias e objetos de referncia A References propriedade, contida pelo objeto VSProject2, contm uma coleo de Reference3 objetos. O Reference3 objeto representa uma referncia de projeto e principalmente um objeto somente leitura que oferea suporte um Remove mtodo. O References objeto tem suporte para adicionar referncias (. conjuntos .NET, outros projetos ActiveX,) e aumentando eventos (adicionando, removendo, e alterar referncias) com, O References objeto no contm as referncias de um projeto da Web. Referncias de um projeto da Web podem ser recuperadas por acessar a ProjectItems Propriedade da propriedade WebReferencesFolder. Para obter mais informaes e exemplos de cdigo, consulte Reference e Reference3 objeto, References Coleo, References propriedade, e WebReferencesFolder propriedade. Objeto importaes A Imports propriedade contida pelo objeto VSProject2 mantm uma coleo de Imports declaraes que se aplicam a um projeto inteiro Visual Basic. Se uma instruo importaes for adicionada a essa coleo, a instruo correspondente Imports (por exemplo, Imports VSLangProj) no precisa a ser adicionado ao arquivo de cdigo. Este objeto suporta adicionando e removendo instrues importaes e elevar eventos em resposta a adio e remoo instrues. No h nenhum equivalente em um Visual C# projeto, e a VSLangProj80.VSProject2.Imports retorna Nothing propriedade ou null quando aplicado a um Visual C# projeto Para obter mais informaes, consulte Imports.

Visual Studio

384

VSProjectItem e objetos BuildManager O VSProjectItem objeto a contraparte item de projeto do objeto VSProject2. No modelo de extensibilidade geral, o objeto genrico ProjectItem representa um item de projeto. A Object propriedade do tipo OBJECT, e em ou Visual C# projeto, o tipo da propriedade VSProjectItem. um Visual Basic Projetando o objeto digite VSProjectItem teria esta aparncia em uma macro: C#
using EnvDTE; using EnvDTE80; using VSLangProj; using VSLangProj2; using VSLangProj80; EnvDTE.Project proj; VSLangProj.VSProjectItem pi; Pi = (VSProject2)DTE2.Solution.Projects.Item(1).ProjectItems.Item(1). Object;

O VSProjectItem objeto contm propriedades que vincular ao item de projeto pai e projeto, e um mtodo que fora a execuo de uma ferramenta personalizada nesse item. O BuildManager objeto trata sada ferramenta personalizada. Para obter mais informaes, consulte RunCustomTool, VSProjectItem mtodo, Introduo ao objeto BuildManager Objeto, e BuildManager Objeto. Propriedade Properties Modelo de extensibilidade geral tem uma Properties propriedade em trs objetos:

Objeto Project As propriedades nesse objeto so equivalentes s propriedades encontradas na guia Common Properties da caixa de dilogo Property Pages no IDE do projeto. Objeto Configuration As propriedades nesse objeto so equivalentes s propriedades encontradas na guia Configuration Properties da caixa de dilogo Property Pages no IDE do projeto. Objeto ProjectItem As propriedades nesse objeto so equivalentes s propriedades encontradas na janela Properties quando um item de projeto est selecionado no Solution Explorer. Em cada caso a Properties propriedade uma coleo de objetos do tipo Propriedade. Um Property objeto pode ser obtido a partir da coleo, especificando o da propriedade ndice baseado em 1 ou seu nome. O contedo da coleo dependem do idioma. No caso de itens de projeto, o contedo tambm dependem das se o item um arquivo ou uma pasta.

Modelo de Objeto de Extensibilidade para projetos Visual Basic, Visual C# e Visual J#


Esses objetos, propriedades, mtodos, e eventos so usados para automatizar tarefas no ambiente de desenvolvimento, criar novos tipos de projeto, e criar novo projeto tipos de item. Nesta seo Grfico hierarquia VSLangProj (VSLangProj2 e VSLangProj80) Ilustra as relaes de objetos no espao para nome VSLangProj. Namespace VSLangProj (VSLangProj2 e VSLangProj80)

Visual Studio

385

Descreve espao para nome contendo extenses do espao para nome VSLangProj. Visual Basic, Visual C# e exemplos de extensibilidade Project J# Visual Fornece links para tpicos contendo exemplos Programao de extensibilidade. Sees relacionadas Referncia de automao e extensibilidade Contm idioma tpicos de referncia para o modelo de automao do ambiente de desenvolvimento integrado (IDE), incluindo depurao. Introduo ao Extensibilidade do Projeto no Visual Basic e Visual C# Descreve como controlar Visual Basic e Visual C# projetos e solues usando seus objetos de automao.

Modelo de Objeto de Extensibilidade do Visual C++


Esta seo da documentao Visual C++ aborda quatro modelos de objeto que compem o Visual C++ modelo de objeto extensibilidade. O Visual C++ modelo de objeto extensibilidade um conjunto de objetos COM, interfaces, e associados wrappers gerenciados que podem ser usados com qualquer linguagem compatvel com ou o .NET Framework para automatizar aes que ocorrem no ambiente Visual Studio de desenvolvimento integrado (IDE). Cada modelo inclui objetos que representa partes de um Visual C++ projeto predefinidos. Objetos podem ser manipulados com Visual C++ ou com outros idiomas suporte por Visual C++, tais como Visual C#. Propriedades podem ser lidas e conjunto, podem ser chamados, mtodos e eventos podem ser tratados em qualquer linguagem compatvel com o .NET Framework com ou. Cada modelo pode ser manipulado com Visual Basic macros ou atravs da Properties janela. Nesta seo Visual modelo cdigo C++ Explica como manipular internos elementos, tais como uma classe definida ou funo dentro de um Visual C++ projeto. Modelo do Project C++ Visual Explica o modelo que regula projetos e cria. Visual modelo Assistente C++ Explica como oferecem suporte a Automao para assistentes de design. Sees relacionadas Referncia de automao e extensibilidade Inclui informaes de referncia para os modelos de extensibilidade. Automao e extensibilidade do Visual Studio

Bem-vindo ao Assistente suplemento, Assistente para Adicionar-in Visual Studio


Este painel apresenta ao assistente add-in. Para iniciar o assistente add-in, abra a New Project caixa, expanda Other Project Types, clique em Extensibility e clique duas vezes em qualquer Visual Studio Add-in ou Shared Add-in no painel

Visual Studio

386

Templates. O assistente suplemento cria uma estrutura bsica add-in que voc pode complementar posteriormente. Para obter mais informaes, consulte Criando Add-ins e assistentes. Framework Back Move para a pgina anterior do assistente do suplemento ou para a New Project caixa de dilogo se o foco estiver na primeira pgina. Next Mover para a prxima pgina do Assistente do suplemento. Cancel Cancelar o Assistente para Adicionar-in e a criao do suplemento. Consulte tambm Tarefas

Referncia de automao e extensibilidade


Os tpicos a seguir se relacionam ao automao e extensibilidade no Visual Studio para componentes compartilhados e especficos do idioma. Nesta seo EnvDTE Os tipos e membros relacionadas automao, extensibilidade, e a depurao para todos os Visual Studio idiomas. EnvDTE80 Os tipos e membros, novo para Visual Studio 2005, relacionados ao automao, extensibilidade, e a depurao para todos os Visual Studio idiomas. Extensibility Contm a IDTExtensibility2 interface que hospedam mtodos que manipulam eventos add-in. VSLangProj Tipos e membros que se relacionam com Visual Basic, Visual C# e Visual J# projeto de automao. VSLangProj2 Tipos e membros que se relacionam com Visual Basic, Visual C# e Visual J# projeto de automao. VSLangProj80 Tipos e membros, Novo, para Visual Studio 2005 que se relacionam com Visual Basic, Visual C# e Visual J# Projeto Automao. VCCodeModel Os tipos e membros relacionados ao Visual C++ cdigo de automao. Inclui tipos e membros novos no Visual Studio 2005. VCProject Os tipos e membros relacionados ao Visual C++ projeto Automao. Inclui tipos e membros novos no Visual Studio 2005.

Visual Studio

387

VCProjectEngine Os tipos e membros relacionados ao Visual C++ projeto Automao. Inclui tipos e membros novos no Visual Studio 2005. VsWizard Os tipos e membros relacionadas Visual C++ automao Assistente. Inclui tipos e membros novos no Visual Studio 2005. Modelo de Objeto de Extensibilidade do Visual C++ Lista todos os objetos, colees, interfaces, propriedades, mtodos, eventos, e constantes relacionadas s montagens vrios Visual C++.

Visual Studio

388

Visual Studio Comandos e opes


Visual comandos Studio permitem direta interao com o ambiente de desenvolvimento integrado por meio do teclado (IDE). Muitas caixas de dilogo, janelas, e comandos de menu no IDE tm um equivalente de linha de comando que voc pode digitar na Janela de Comando, a Janela Immediate, ou o Localizar / comando caixa para exibir uma caixa de dilogo ou executar um comando. Visual Studio comandos seguem determinadas regras sintaxe geral que so explicadas abaixo. O conjunto de comandos disponveis inclui todos os comandos listados na Keyboard, Environment, Options Dialog Box e no, os Comandos guia, Personalizar caixa de dilogo Visual Studio () Aliases definidos pelo usurio, bem como e macros. Criando a partir da linha de comando Para obter informaes sobre criao projetos no Visual Studio linguagens de programao a partir da linha de comando, e Criando a partir da linha de comando. Consulte Compilando a partir da linha de comando (Visual Basic), Criando de linha de comando visual (C#), Opes VCBUILD Visual C++ (,) Para obter informaes sobre como configurar um arquivo de esquema XML MSBuild para criar projetos, consulte o Referncia MSBuild. Sintaxe comando Visual Studio Visual comandos Studio podem ser inseridos na janela, Immedia janela te, ou CommandFind/Command na caixa. Em cada caso, o sinal maior. (>) usado para indicar que um comando em vez de uma operao de pesquisa ou de depurao a seguir Para obter informaes sobre a sintaxe de comando, consulte Visual Studio comandos com argumentos e Opes de linha de comando Devenv. Muitos comandos podem ser gravados em um dos dois formatos, usando a sintaxe de comando completa, uma menor Formulrio ou alias. Nomes de comandos concluda A sintaxe completa para comandos baseada em caixa de dilogo listados Keyboard, Environment Options nome comando completo. Na maioria dos casos, a sintaxe completa reflete a colocao de comandos no sistema menu IDE. Concluir comando nomes compatveis com as regras de sintaxe a seguir:

Categorias de comando, como menus, e nomes de comandos so separadas por um ponto (.). Espaos e pontuao so removidos de todos os nomes de comando conforme exibido na barra de menus.

Por exemplo, o comando que exibe aparece Keyboard, Environment Options como um filho do comando File. o Nova caixa de dilogo do arquivo Para exibir esta caixa de dilogo, digite o seguinte comando na janela, Immedia janela te, ou CommandFind/Command caixa e pressione ENTER.
>File.NewFile

A New File caixa de dilogo aparece, pronto para que voc possa faa sua seleo.

Visual Studio

389

Aliases de comando Voc pode criar nomes curtos, ou aliases, para nomes comando completo para ajud-lo a lembrar e digite os comandos mais rapidamente. O Visual Studio vem com um conjunto de aliases predefinidos. Por exemplo, o comando que exibe a New File caixa de dilogo tem o alias nf padro. Para obter mais informaes, consulte Predefinidas visual aliases de comando Studio. Voc tambm pode criar seus prprios aliases personalizados ou alterar aliases predefinidos, usando o alias comando. Por exemplo, voc pode criar um alias para o comando Edit.MakeUpperCase digitando o seguinte:
>alias upper Edit.MakeUpperCase

Na prxima vez em que voc selecione texto no editor e inserir >upper na janela, Immedia janela te, ou CommandFind/Command caixa, o texto ser exibido em letras maisculas. Voc tambm pode criar aliases que incluem nomes de comandos e seus argumentos. Para exibir uma lista de todos os aliases atuais, digite o seguinte comando na janela Command:
>alias

Comandos com argumentos Alguns comandos permitem que voc para fornecer argumentos, tais como nomes de arquivo ou opes que executar um comando, sem exibir todas as caixas de dilogo ou outras interfaces de usurio. Por exemplo, o comando File.NewFile, digitado sem opes, exibe a New File caixa de dilogo. Voc tambm pode criar um novo arquivo de um modelo, sem exibir a New File caixa de dilogo, incluindo a opo /t. O exemplo a seguir cria um novo arquivo de texto chamado MyText.txt, com base em modelo " Arquivo General\Text ", e abre-no Editor de Cdigo fonte.
>File.NewFile Mytext /t:"General\Text File" /e:"Source Code (text) Editor"

Observao Argumentos comando devem ser inseridos na ordem especificada para o comando. Switches e seus argumentos podem ser colocados em qualquer ordem. Comandos e argumentos compatveis com a seguinte sintaxe:

Comandos nomes e argumentos so separados por espaos Valores argumento que contenham espaos devem ser colocados entre aspas Use o circunflexo (^ caracteres para caracteres de escape) Abreviaes argumento caractere nico-podem ser combinadas. Por exemplo, voc pode combinar as abreviaes argumento nico caractere para /case (/c. (/w) como /cw em vez de /c /w) e /word

Muitos switches nome comando tm nomes completo e curto que podem ser usados de forma intercambivel. Por exemplo, a /case opo de comando Edit.Find tambm pode ser gravada /c. Para obter uma lista completa, consulte Visual Studio comandos com argumentos. Escape caracteres Um caractere de interpolao (^) em uma linha de comando significa que o caractere imediatamente aps ele interpretada literalmente, em vez de como um

Visual Studio

390

caractere de controle. Isso pode ser usado para incorporar aspas normais ("), espaos, barras esquerda, carets, ou quaisquer outros caracteres literais em um valor parmetro ou opo, com exceo da opo nomes. Por exemplo,
>Edit.Find ^^t /regex

Uma interpolao funciona da mesma se ele est dentro ou fora aspas. Se uma interpolao for o ltimo caractere na linha, ele ser ignorado. Concluso Automtica para comandos A Command janela, Immedia janela te, e Find/Command Caixa fornecem concluso automtica quando voc insere nomes de comandos e aliases. A lista de concluso automtico exibe todos os possveis correspondentes nomes de comandos e aliases, se o comando est disponvel no momento ou no. Se voc digitar ou selecionar um comando disponvel, a barra de status exibe a mensagem, O comando " no est disponvel " e o comando ser ignorado. Nomes de comandos internacionais Em verses localizadas do IDE, nomes de comandos podem ser inseridos no idioma nativo do IDE ou no ingls. Por exemplo, voc pode digitar no francs IDE para executar uma File.NewFile ou Fichier.NouveauFichier o mesmo comando. Nomes de macro so semelhantes aos nomes de comandos. Embora voc pode salvar macros usando um nome localizado, para melhor compatibilidade entre ingls e verses localizadas do Visual Studio, melhor para salvar macros usando nomes em ingls. Isso ocorre porque todas as verses localizadas do IDE entender ingls comandos, mas nem todas as verses localizadas do IDE entende localizado um idioma diferente.

Janela de Comando
A Command janela usada para executar comandos ou aliases diretamente no ambiente Visual Studio de desenvolvimento integrado (IDE). Voc pode executar os comandos de menu e comandos que no aparecem em qualquer menu. Para exibir a Command janela, escolha Other Windows No menu View, e selecione Command Window. Esta seo explica os comandos e aliases disponveis a partir da Command janela. Predefinidas visual aliases de comando Studio Contm uma lista do availabe aliases comando predefinidas com Visual Studio. Visual Studio comandos com argumentos Contm informaes sobre os Visual Studio comandos que obtm argumentos. Exibindo os valores de variveis Para verificar o valor de uma varivel varA, use o Comando Imprimir:
>Debug.Print varA

O ponto de interrogao (?) um alias para Debug.Print, para este comando tambm pode ser gravado:
>? varA

As duas verses desse comando retornar o valor da varivel varA.

Visual Studio

391

Inserir comandos O maior que Smbolo. aparece na extremidade esquerda da janela de comando como um prompt para novas linhas (>) Use as teclas SETA PARA CIMA e SETA PARA BAIXO para rolar pela comandos emitidos anteriormente. Tarefa Avaliar uma expresso. Soluo Preceda a expresso com um ponto de interrogao (?). Inserir immed na janela sem o maior que (>) sinal Inserir cmd na janela. Exemplo
? myvar

Alterne para uma janela imediata.

immed

Alternar novamente para a janela de comando a partir de uma janela imediata.

>cmd

Os seguintes atalhos ajudam a navegar enquanto no modo de comando. Ao Alternar entre a lista de comandos inseridos anteriormente. Rola para cima a janela. Local do cursor Linha de entrada KeyBinding Seta para baixo e para baixo

Contedo da janela de comando Contedo da janela de comando

CTRL+SETA PARA CIMA

Role para baixo a janela.

SETA ABAIXO ou CTRL+SETA PARA BAIXO

Dica Voc pode copiar todos ou parte de um comando anterior para a linha de entrada, rolagem a ele, realando todo ou parte dele, e em seguida, pressionando ENTER. Modo marcar Quando voc clica em qualquer linha anterior na janela Command, no voc alternar automaticamente no modo marcar. Isso permite que voc para selecionar, editar e copiar texto de comandos anteriores medida que voc faria em qualquer editor de texto, e col-los na linha atual. O igual (=) sinal A janela utilizada para digitar o EvaluateStatement Comando determina se um sinal de igual (=) interpretado como um operador de comparao ou como um operador de atribuio. Na janela Command, um sinal de igual (=) interpretado como um operador de comparao. Voc no pode usar operadores de atribuio na janela Command. Caso, por exemplo, se os valores de variveis varA e varB so diferente, e o comando
>Debug.EvaluateStatement(varA=varB)

Visual Studio

392

Retornar um valor de False. Na janela Immediate, por outro lado, um sinal de igual (=) interpretado como um operador de atribuio. Portanto, por exemplo, o comando
>Debug.EvaluateStatement(varA=varB)

ir atribuir a varivel varA o valor da varivel varB. Parmetros, opes, e valores Alguns Visual Studio comandos comandos tem necessrias e argumentos opcionais, alterna e valores. Certas regras se aplicam ao lidar com tais comandos. O seguinte um exemplo de um comando Rich para esclarecer a terminologia.
Edit.ReplaceInFiles /case /pattern:regex var[1-3]+ oldpar

Neste exemplo,

Edit.ReplaceInFiles o comando e /case/pattern:regex so opes (exibir o caractere de barra [/]) regex o valor da opo /pattern; a /case opo no tem valor e var[1-3]+oldpar so parmetros Observao Qualquer comando, parmetro, opo, ou valor que contm espaos deve ter aspas duplas nos dois lados.

A posio do opes e parmetros pode ser interchanged livremente na linha de comando com a exceo do comando Shell, que requer suas opes e parmetros em uma ordem especfica. Quase cada opo suporte de um comando tem duas formas: Um formulrio curto (um caractere) e uma forma longa. Vrias opes de forma curta podem ser combinadas em um grupo. Por exemplo, /p /g /m pode ser expresso como alternativa como /pgm. Se opes curta so combinados em um grupo e considerando um valor, esse valor se aplicar a cada opo. Por exemplo, /pgm:123 equivale a /p:123 /g:123 /m:123. Um erro ocorre se qualquer uma das opes no grupo no aceita um valor. Escape caracteres Um caractere de interpolao (^) em uma linha de comando significa que o caractere imediatamente aps ele interpretada literalmente, em vez de como um caractere de controle. Isso pode ser usado para incorporar aspas normais ("), espaos, barras esquerda, carets, ou quaisquer outros caracteres literais em um valor parmetro ou opo, com exceo da opo nomes. Por exemplo,
>Edit.Find ^^t /regex

Uma interpolao funciona da mesma se ele est dentro ou fora aspas. Se uma interpolao for o ltimo caractere na linha, ele ser ignorado.

Janela Immediate
A Immediate janela usada para depurao e avaliar expresses, execute instrues, imprimir varivel valores, e assim por diante. Ele permite que voc para

Visual Studio

393

inserir expresses para ser avaliada ou executados pelo idioma de desenvolvimento durante a depurao. Para exibir a Immediate janela, abra um projeto para edio, escolha Windows a partir do Debug Menu e selecione Immediate. Voc pode usar esta janela para emitir comandos individuais Visual Studio. Os comandos disponveis incluem EvaluateStatement, que pode ser usada para atribuir valores a variveis. A Immediate janela tambm suporta IntelliSense. Esta seo contm informaes sobre os comandos disponveis a partir da Immediate janela. Comandos da janela Imediata Contm links para tpicos que descrevem os comandos disponveis a partir da Immediate janela. Exibindo os valores de variveis Esta janela pode ser especialmente til quando estiver depurando um aplicativo. Por exemplo, para verificar o valor de uma varivel myVar, voc pode usar o Comando Imprimir:
>Debug.Print varA

O ponto de interrogao (?) um alias para Debug.Print, para este comando tambm pode ser gravado:
>? varA

As duas verses desse comando retornar o valor da varivel varA. Observao Para emitir um Visual Studio Comando na janela Immediate, voc deve preceda o comando com um maior sinal que (>). Para inserir vrios comandos, alternar para a Command janela. Inserir comandos Voc deve digitar o maior que entrar (>) ao emitir Visual Studio comandos na janela Immediate. Use as teclas SETA PARA CIMA e SETA PARA BAIXO para rolar pela comandos emitidos anteriormente. Tarefa Avaliar uma expresso. Soluo Preceda a expresso com um ponto de interrogao (?). Digite o comando, prefacing-lo com um maior sinal que (>). Exemplo
? a+b

Temporariamente entrar no modo Comando enquanto no modo Immediate (para executar um nico comando). Alternar para a janela de comando.

>alias

Inserir cmd na janela, prefacing-lo >cmd com um maior sinal que (>). Inserir immed na janela sem o maior que (>) sinal.
immed

Alternar de volta para a janela Imediata. Modo marcar

Visual Studio

394

Quando voc clica em qualquer linha anterior na janela Immediate, no voc alternar automaticamente no modo marcar. Isso permite que voc para selecionar, editar e copiar texto de comandos anteriores medida que voc faria em qualquer editor de texto, e col-los na linha atual. O igual (=) sinal A janela utilizada para digitar o EvaluateStatement Comando determina se um sinal de igual (=) interpretado como um operador de comparao ou como um operador de atribuio. Na janela Immediate, um sinal de igual (=) interpretado como um operador de atribuio. Portanto, por exemplo, o comando
>Debug.EvaluateStatement(varA=varB)

ir atribuir a varivel varA o valor da varivel varB. Na janela Command, por outro lado, um sinal de igual (=) interpretado como um operador de comparao. No use operaes de atribuio na janela Command. Caso, por exemplo, se os valores de variveis varA e varB so diferente, e o comando
>Debug.EvaluateStatement(varA=varB)

Retornar um valor de False.

Localizar / comando caixa


A Find/Command caixa permite que voc a localizar e substituir texto, e para executar comandos. Para emitir comandos individuais Visual Studio, preceda-los com um caractere maior que (>). A Find/Command caixa mantm os itens inseridos ltimas 20 e exibe-os em uma lista drop-down. Voc pode navegar atravs da lista usando as teclas SETA. A Find/Command caixa est localizada em ferramentas padro na maioria dos Visual Studio 2005 idiomas de programao. Localizar / comando caixa

Para ir para a Find/Command caixa, o clique com o mouse ou pressione CTRL + /. Localizar e substituir Por padro, quando voc digitar texto na caixa Find/Command e pressione ENTER, ele procura o texto no documento atual ou janela usando as opes especificadas na pesquisa e substituio a Localizar e Substituir janela. Para obter mais informaes, consulte Localizando e substituindo. Voc pode usar determinadas combinaes de teclas com a caixa Localizar / comando. Para Localizar uma seqncia Na caixa Comando Digite a seqncia e pressione ENTER

Visual Studio

395

Localizar a prxima ocorrncia da seqncia Pesquisar a ndice da Ajuda Navegue at uma linha de cdigo especfica Localizar um objeto

Pressione ENTER Digite a seqncia e pressione F1 Digite o nmero da linha e pressione CTRL + G Digite a seqncia e pressione F2

Ao procurar na caixa Find/Command, a janela Localizar resultados 1 aparecer, exibindo as definies de pesquisa atual. Se, por exemplo, a ltima vez voc pesquisados do Rpido Localizar, Localizar e Substituir janela, voc selecionado a Match case opo, ser exibida a Find Results 1 janela
Find "mybutton", Match case, Current document

Inserir comandos Para usar a Find/Command caixa para emitir um nico Visual Studio Comando ou alias em vez de procurar por texto, digite o Visual Studio comando, exibir um smbolo maior que (>). Por exemplo:
>File.NewFile c:\temp\MyFile /t:"General\Text File"

Como alternativa, voc tambm pode usar a janela de comando para inserir e executar um ou vrios comandos. Alguns comandos ou aliases podem ser inseridos e executados por si; outros ter necessrio argumentos em sua sintaxe. Para obter uma lista de comandos, consulte Visual Studio Comandos e opes. Para obter uma lista de comandos que possuem argumentos, consulte Visual Studio comandos com argumentos. Escape caracteres Um caractere de interpolao (^) em uma linha de comando significa que o caractere imediatamente aps ele interpretada literalmente, em vez de como um caractere de controle. Isso pode ser usado para incorporar aspas normais ("), espaos, barras esquerda, carets, ou quaisquer outros caracteres literais em um valor parmetro ou opo, com exceo da opo nomes. Por exemplo,
>Edit.Find ^^t /regex

Uma interpolao funciona da mesma se ele est dentro ou fora aspas. Se uma interpolao for o ltimo caractere na linha, ele ser ignorado. Consulte

Comandos guia, Personalizar caixa de dilogo Visual Studio ()


A Commands guia permite que voc para adicionar e remover comandos nas barras de ferramentas, e alterar as imagens usadas para botes da barra de ferramentas. Selecione Customize no menu Tools para exibir a Customize caixa de dilogo e escolha Commands. Observao As opes disponveis nas caixas de dilogo e os nomes e locais dos comandos de menu que voc v

Visual Studio

396

podem diferir do que descrito na Ajuda, dependendo de suas configuraes ativas ou da edio. Para alterar as configuraes, escolha Import and Export Settings No menu Tools. Para obter mais informaes, consulte Configuraes do Visual Studio. Categorias Especifica o conjunto de comandos que so exibidos na caixa Commands de listagem. As categorias de comandos so baseadas em ttulos menu fornecidos pela ferramentas e designers que o ambiente atualmente suporta. Esta lista de ttulos dinmica, permitindo que a ordem das categorias e ttulos menu para alterar, dependendo da quais ferramentas e designers esto disponveis, e seus menus se tiver sido personalizados. Observao No possvel para dois menus em designers diferentes para compartilhar o mesmo ttulo. Em tais casos, o ttulo menu aparecer duas vezes, oferecendo dois conjuntos comando diferente. Comandos Exibe os comandos e imagens comando baseadas na categoria que voc selecionou. Voc pode arrastar um comando para a barra de ferramentas que voc deseja personalizar. Modificar seleo Exibe uma lista de comandos voc pode usar para personalizar a exibio do boto na barra de ferramentas. Por exemplo, poder alterar as teclas Imagem ou acelerador, ou especificar se deseja exibir texto em vez de uma imagem para o comando. Este boto estar disponvel depois que voc selecionar um boto de comando em uma barra de ferramentas que deseja personalizar. Reorganizar Comandos Exibe a Rearrange Commands caixa de dilogo, para que voc possa modificar menus. Teclado Exibe o teclado, Ambiente, caixa de dilogo Opes, para que voc pode especificar combinaes de teclas de atalho para comandos.

Visual Studio

397

Você também pode gostar