Sdílet prostřednictvím


Postupy: Publikování více projektů v řešení

Řešení může obsahovat několik projektů, ale nasazení ClickOnce je omezeno v tom, že může publikovat pouze jeden projekt najednou. U řešení s mnoha projekty může být jejich postupné publikování zatěžující. Tento procedura ukazuje, jak automatizovat proces publikování všech projektů v řešení pomocí makra.

Chcete-li vytvořit makro pro publikování

  1. Otevřete Průzkumník maker. Z nabídky Nástroje klikněte na Makra a pak Průzkumník maker.

  2. Vytvořte nový modul makra. V Průzkumníku maker zvolte uzel Moje Makra. Z nabídky Nástroje klikněte na Makra a pak na Nový modul maker. Názvěte modul PublishAllProjects.

  3. V Průzkumníku maker otevřete uzel Moje Makra a pak otevřete modul Publikovat všechny projekty poklikáním (nebo z nabídky Nástroje přejděte na Makra a potom klikněte na Macros IDE).

  4. V Macros IDE přidejte následující kód do modulu po příkazech Import:

    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. Zavřete Macros IDE. Fokus se vrátí k Visual Studiu.

Pro publikování všech projektů v řešení

  1. Vytvořte projekt Visual Basic systému Windows. V nabídce Soubor klikněte na Nový Projekt.

  2. V dialogovém okně Nový projekt vyberte Aplikace Windows z uzlu Visual Basic. Názvěte projekt MultiProj.

  3. Přidejte dva další projekty aplikací pro systém Windows do řešení MultiProj. Názvěte je Proj1 a Proj2.

  4. Publikujte všechny projekty nejprve v řešení. Makro vyžaduje, aby byly manifesty ClickOnce podepsány a aby byla zóna zabezpečení nastavena pro jednotlivé projekty. Publikováním každého zvlášť pomocí integrovaného vývojového prostředí (IDE) před použitím makra bude proces publikování podepisovat manifesty ClickOnce a nastaví zónu zabezpečení, která je nezbytná pro spuštění makra.

    V Průzkumníku řešení zvolte MultiProj. Z nabídky Projekt vyberte Vlastnosti. V Návrháři projektu klikněte na kartu Publikování. Na stránce Publikovat zadejte umístění pro publikování publish\ a pak klikněte na příkaz Publikovat nyní.

    Tento postup opakujte pro ostatní projekty v řešení.

  5. Publikujte MultiProj znovu vyvoláním makra v příkazovém okně aplikace Visual Studio. Chcete-li zobrazit příkazové okno z nabídky Zobrazení, klikněte na tlačítko Ostatní okna a pak na Příkazové okno nebo stiskněte CTRL + ALT + A. V Příkazovém okně zadejte macros; automatické dokončení nabídne seznam maker k dispozici. Zvolte následující makro a stiskněte klávesu Enter:

    Macros.MyMacros.PublishAllProjects.PublishAllProjectsInSolution

  6. Po úspěšné proces publikování pro každý projekt získáte zpráva "Pro MultiProj\MultiProj.vbproj byla úspěšná publikování." Klepněte na tlačítko OK na každou zprávou.

  7. Nahlédněte do podadresářů publikování v adresáři každého projektu. Měli byste vidět soubory manifestů, setup.exe a webové stránky publikování.

Viz také

Úkoly

How to: Edit and Programmatically Create Macros

Postupy: Publikování projektu, který má specifické národní prostředí

Odkaz

Macro Explorer Window

Koncepty

Publikování aplikace ClickOnce

Další zdroje

Macros Development Environment