Share via


Como: Publicar os diversos projetos em uma solução

Uma solução pode conter vários projetos, mas a implantação do ClickOnce é restrito no que ele só pode publicar um projeto por vez.Para soluções com vários projetos, publicação-os um por um pode ser onerosos.Este procedimento mostra como automatizar o processo usando uma macro para publicar todos os projetos em uma solução.

Para criar a macro de publicação

  1. em aberto Explorador de macro.From a Ferramentas menu, clicar Macros, then Gerenciador de Macro.

  2. Crie um novo módulo de macro.No Gerenciador de macro, selecionar o MyMacros nó.From a Ferramentas menu, clicar Macros, then Novo módulo de macro.nome o módulo PublishAllProjects.

  3. No Gerenciador de macro, abra o MyMacros nó, em seguida, abra o PublishAllProjects módulo clicando duas vezes nele (ou do Ferramentas menu, clicar Macros, then IDE de macros).

  4. No IDE de macros, adicione o seguinte código no módulo, após o Import instruções:

    Public Module PublishAllProjects
        Sub PublishAllProjectsInSolution()
            ' Before using this macro, the certficate and security zone must be set.
            ' You can do this by publishing the projects using the VS IDE.
            Dim slnbld2 As SolutionBuild2 = CType(DTE.Solution.SolutionBuild, SolutionBuild2)
    
            'Save changes to all projects and clean.
            For Each proj As Project In DTE.Solution.Projects
                proj.Save()
            Next
            slnbld2.Clean(True)
    
            For Each proj As Project In DTE.Solution.Projects
                'Verify project is a windows application or console application before continuing
                Dim outputType As Integer = proj.Properties.Item("OutputType").Value
                If outputType <> 0 AndAlso outputType <> 1 Then
                    Continue For
                End If
    
                'GenerateManifests and SignManifests must always to true for publishing to work. 
                proj.Properties.Item("GenerateManifests").Value = True
                proj.Properties.Item("SignManifests").Value = True
                proj.Save()
    
                slnbld2.BuildProject(proj.ConfigurationManager.ActiveConfiguration.ConfigurationName, proj.UniqueName, True)
    
                'only publish if build was successful.
                If slnbld2.LastBuildInfo <> 0 Then
                    MsgBox("Build failed for " & proj.UniqueName)
                Else
                    slnbld2.PublishProject(proj.ConfigurationManager.ActiveConfiguration.ConfigurationName, proj.UniqueName, True)
                    If slnbld2.LastPublishInfo = 0 Then
                        MsgBox("Publish succeeded for " & proj.UniqueName)
                    Else
                        MsgBox("Publish failed for " & proj.UniqueName)
                    End If
                End If
            Next
    
        End Sub
    End Module
    
  5. fechar as macros IDE.O foco voltará para Visual Studio.

Para publicar todos os projetos em uma solução

  1. Criar um Visual Basic aplicativos do Windows projeto.No menu File, clique em New Project.

  2. No Novo projeto caixa de diálogo de de seleçãoaplicativos do Windows from the Visual Basic nó.nome o projeto MultiProj.

  3. Adicionar dois projetos Windows aplicativo mais à MultiProj solução.Nomear o arquivo Proj1 and Proj2.

  4. Publicar cada um dos projetos da solução pela primeira vez.A macro requer que os manifestos ClickOnce ser assinado e a zona de segurança seja definida para cada um dos projetos.Ao publicar cada usando o ambiente de desenvolvimento integrado (IDE) antes de usar a macro, o processo de publicação será assinar os manifestos ClickOnce e conjunto a zona de segurança, que são necessários para a execução da macro.

    In O gerenciador de soluções, selecionar MultiProj.From a Projeto menu, selecionar Propriedades.No projeto Designer, clicar no Publicar guia.Sobre o Publicar especifique um local de publicação de publish\, em seguida, clicar Publicar agora.

    Repetir esse procedimento para outros projetos na solução.

  5. Publicar MultiProj novamente ao chamar a macro na janela Comando do Visual Studio.Para exibir a janela Comando, partir o Modo de exibição menu, clicar Outras janelas, then janela Comando, or press CTRL + ALT + A.Na janela Comando, digite macros; autopreencher fornecem uma lista de macros disponível.selecionar a macro a seguir e pressione Digite:

    Macros.MyMacros.PublishAllProjects.PublishAllProjectsInSolution

  6. Quando o processo de publicação para cada projeto é bem-sucedida, você receberá uma mensagem informando que "Publicar bem-sucedido para MultiProj\MultiProj.vbproj." clicar OK em cada caixa de mensagem.

  7. Examine os subdiretórios de publicar de cada pasta do projeto.Você deve ver os manifestos, setup.exe e publicar arquivos de página da Web.

Consulte também

Tarefas

Como: Editar e criar macros por programação

Como: Publicar um projeto com um local específico

Referência

Macro Explorer janela

Outros recursos

Publicando aplicativos ClickOnce

Ambiente de desenvolvimento de macros