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í
Otevřete Průzkumník maker. Z nabídky Nástroje klikněte na Makra a pak Průzkumník maker.
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.
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).
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
Zavřete Macros IDE. Fokus se vrátí k Visual Studiu.
Pro publikování všech projektů v řešení
Vytvořte projekt Visual Basic systému Windows. V nabídce Soubor klikněte na Nový Projekt.
V dialogovém okně Nový projekt vyberte Aplikace Windows z uzlu Visual Basic. Názvěte projekt MultiProj.
Přidejte dva další projekty aplikací pro systém Windows do řešení MultiProj. Názvěte je Proj1 a Proj2.
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í.
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
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.
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
Koncepty
Publikování aplikace ClickOnce