Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Visual Studio PT BR
Apostila Visual Studio PT BR
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
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.
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
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
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.
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.
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 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.
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
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.
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.
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.
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.
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.
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.
Visual Studio
25
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.
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.
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.
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.
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.
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.
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.
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.
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.
Visual Studio
35
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:
6.
Visual Studio
37
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.
Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.
Visual Studio
40
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.
Visual Studio
41
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.
COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.
Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings.
Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.
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
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
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:
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
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:
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
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:
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.
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.
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:
Visual Studio
57
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.
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.
7.
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:
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
2.
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.
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.
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); }
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(); }
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.
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.
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:
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.
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.
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.
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.
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.
8.
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 .
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.
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.
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;
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.
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.
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.
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 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.
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.
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.
Visual Studio
100
(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.
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
Visual Studio
104
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.
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.
9.
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
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
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.
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();
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
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
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
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
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
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
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
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
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.
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
Definir pontos de interrupo. Chamar o depurador a partir de um pgina Web Forms em um site no sistema de arquivos. Pr-requisitos
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.
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
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
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
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
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
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" %>
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
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
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=" 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
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.
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
Criar um XML Web Service simples no Visual Web Developer. Criar um site em separado que usa o servio da Web. Pr-requisitos
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
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
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.
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.
Visual Studio
194
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
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.
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
<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
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.
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.
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
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
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
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.
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:
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
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.
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
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
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 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.
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:
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.
Visual Studio
214
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 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.
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:
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
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
Visual Studio
220
1. 3.
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
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#
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
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
Visual Studio
246
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.
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.
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.
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.
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.
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.
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.
Visual Studio
256
Visual Studio
257
Visual Studio
258
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:
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
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.
Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.
Visual Studio
263
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.
Visual Studio
264
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.
COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.
Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings.
Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.
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
Visual Studio
266
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.
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
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
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
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.
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.
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.
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
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
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.
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.
Visual Studio
272
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.
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.
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.
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
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.
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.
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.
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
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.
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
Visual Studio
277
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.
.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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
1.
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.
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.
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.
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.
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.
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
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.
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
1.
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.
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.
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.
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.
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
No Solution Explorer, clique com o boto direito do mouse na referncia sob o n References, e selecione Remove no menu de atalho.
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.
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.
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
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.
About Box
Login Form
Splash Screen
Dialog
Class
Um arquivo de cdigo que contm uma declarao de classe. Para mais informaes, consulte Classes no Common Type System. Uma nova interface.
Interface
.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
.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
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
COM Class
.vb ou .cs
.vb ou .cs
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
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
.wsf
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
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
.asax
.config
.xml
XML Schema
.xsd
Visual Studio
308
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
.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.
.ascx
.config
Crystal Report
.rpt
VBScript File
.vbs
JScript File
.js
Visual Studio
309
Module (Visual Basic somente) Component Class Data Form Wizard Frameset
.vb
.vb ou .cs
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.
Installer Class
Bitmap File
.bmp
Cursor File
.cur
Icon File
.ico
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 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.
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.
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.
Visual Studio
311
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.
Visual Studio
312
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.
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.
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:
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.
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
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
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.
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.
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.
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
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.
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
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:
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
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
Voc pode acessar este assistente a partir do Tools Menu, escolhendo Import and Export Settings.
Visual Studio
337
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.
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
COMO: Compartilhar configuraes entre computadores Selecione uma coleo na lista, ou clique Browse para localizar uma coleo diferente para importar.
Description Exibe informaes sobre a coleo configuraes que so otimizadas para. Somente disponvel para Default Settings. Consulte tambm
Como: Alterar configuraes selecionadas Lista as colees configuraes disponveis. Clique Browse para navegar para uma coleo configuraes que no aparece na lista.
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
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.
6.
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.
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.
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
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.
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.
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
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
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
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
Visual Studio
352
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
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.
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.
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.
Microsoft.VisualStudio.VCProject
Visual Studio
356
Microsoft.VisualStudio.VCCodeModel.
Microsoft.VisualStudio.VsWizard.
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 & SET) ToolFileSearchPaths (GET & SET) ShowMatchingRuleDialog (GET & SET) ShowNoMatchingRuleDialog (GET & SET) ValidateSchemas (GET & SET) DefaultSolutionExplorerMode (GET & SET) IVCWizCtl IVCWizCtlUI Todos DatabaseConnection SuspendParsing ResumeParsing DoesFileOrDirectoryExist solutionExplorerMode VCActiveXReference Todos WrapperSuccessfullyGenerated (get) GenerationErrorMessage (get) VCCLCompilerTool ErrorReporting (GET & SET) EnablePREfast (GET & SET) FloatingPointExceptions (GET & SET) floatingPointModel (GET & SET) GenerateXMLDocumentationFiles (GET & SET)
Visual Studio
358
OmitDefaultLibName (GET & SET) OpenMP (GET & SET) UseFullPaths (GET & SET) UseUnicodeResponseFiles (GET & SET) XMLDocumentationFileName (GET & 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
VCConfiguration
BuildLogFile (GET & SET) BuildWithPropertySheet BuildWithPropertySheetPath ClearToolProperty Implantar DeploymentTool (get) ExcludeBuckets (GET & SET) InheritedPropertySheets (GET & SET) IntrinsicPropertySheets (GET & SET) PropertySheets (get) Vincular novamente SqlAssemblyOwner (GET & SET) SqlDebugScript (GET & SET) SqlDeploySource (GET & SET) SqlPermissionLevel (GET & SET) SqlPostDeployScript (GET & SET) SqlPreDeployScript (GET & SET) WaitForBuild
VCCustomBuildRule VCDebugSettings
Todos ApplicationArguments (GET & SET) ApplicationCommand DebuggerFlavor (GET & SET) Env (GET & SET) EnvMerge (GET & SET) MPIAcceptFilter (GET & SET) MPIAcceptMode (GET & SET) MPIRunArguments (GET & SET) MPIRunCommand (GET & SET) MPIRunWorkingDirectory (GET & SET) ShimCommand (GET & SET)
VCDirectories
Todos
Visual Studio
360
VCFile VCFileCodeModel
VCFileCodeUnion
VCFilter
VCLanguageManager VCLibrarianTool
CompareTokenStreams UseUnicodeResponseFiles (GET & SET) Entradas (get) LinkTimeCodeGeneration (GET & SET)
VCLinkerTool
AdditionalManifestDependencies (GET & SET) AllowIsolation (GET & SET) AssemblyLinkResource (GET & SET) CLRImageType (GET & SET) CLRThreadAttribute (GET & SET) DelaySign (GET & SET) Driver (GET & SET) ErrorReporting (GET & SET) GenerateManifest (GET & SET) KeyContainer (GET & SET) KeyFile (GET & SET) LinkLibraryDependencies (GET & SET) ManifestFile (GET & SET) Profile (GET & SET) ProfileGuidedDatabase (GET & SET) UseLibraryDependencyInputs (GET & SET) UseUnicodeResponseFiles (GET & SET)
AdditionalOptions (GET & SET) Todos AssemblySearchPath (GET & SET) CompileAsManaged (GET & SET)
Visual Studio
361
ForcedIncludes (GET & SET) ForcedUsingAssemblies (GET & SET) IncludeSearchPath (GET & SET) PreprocessorDefinitions (GET & 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 & SET) DelaySign (GET & SET) ExcludedPermissions (GET & SET) FullPath (get) GenerateManifests (GET & SET) IncludeHeaderFile LoadUserFile MakeManagedDBConnection ManagedDBConnection (GET & SET) ManagedDBProvider (GET & SET) ManifestCertificateThumbprint (GET & SET) ManifestKeyFile (GET & SET)
Visual Studio
362
ManifestTimestampUrl (GET & SET) RemoveToolFile SaveUserFile ShowAllFiles (GET & SET) SignAssembly (GET & SET) SignManifests (GET & SET) TargetZone (GET & SET) ToolFiles (get) VCProjectConfigurationProperties VCProjectEngine OutputPath AddFakeProps CreatePropertySheet CreateToolFile LoadPropertySheet LoadToolFile PropertySheets RemovePropertySheet ToolFiles (get) ToolFileSearchPaths (GET & SET) ValidateSchemas (GET & 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 & SET) CopyLocalDependencies (GET & SET)
Visual Studio
363
CopyLocalSatelliteAssemblies (GET & SET) CopyLocal (GET & 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
Templateization (get) Templateization (get) GlobalOptimizations (GET & SET) ImproveFloatingPointConsistancy (GET & SET) OptimizeForProcessor (GET & SET) OptimizeForWindowsApplication (GET & SET)
VCConfiguration
AppliedStyleSheets (GET & SET) BuildBrowserInformation (GET & SET) SET StyleSheets () ReferencesPath (GET & SET) FullReferencesPath (get) ReferenceTools (get)
Todos Sincronizar Excluir Todos Todos BuildBrowserInformation (GET & 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 & 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 & 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
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
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
Visual Studio
369
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:.
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:
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.
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.
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:
Para obter mais informaes sobre essa funcionalidade, consulte Introduo extensibilidade de projeto. Para Visual C++, os conjuntos so:
Eles representam (respectivamente), o Visual C++ modelo cdigo especfico, o Visual C++ modelo de projeto, e o Visual C++ modelo Assistente. Consulte tambm
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
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
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.
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
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.
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:
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")
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.
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
Visual Studio
383
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.
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.
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
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
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
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
immed
>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
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
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)
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
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