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
em aberto Explorador de macro.From a Ferramentas menu, clicar Macros, then Gerenciador de Macro.
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.
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).
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
fechar as macros IDE.O foco voltará para Visual Studio.
Para publicar todos os projetos em uma solução
Criar um Visual Basic aplicativos do Windows projeto.No menu File, clique em New Project.
No Novo projeto caixa de diálogo de de seleçãoaplicativos do Windows from the Visual Basic nó.nome o projeto MultiProj.
Adicionar dois projetos Windows aplicativo mais à MultiProj solução.Nomear o arquivo Proj1 and Proj2.
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.
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
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.
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