Ik probeer een macro te maken die alle startup projects en hun dependencies buildt. Daarvoor gebruik ik de BuildProject() method van DTE.Solution.SolutionBuild. Deze method accepteert een string waarmee je de huidige config aan kunt geven, maar helaas niet het huidige platform. Als ik dus een solution hebt met wat projects en twee platforms, een "Win32" en een "x64" platform, dan is het dus onmogelijk om een build te forceren voor het x64. Een BuildProject() met als argument "Release" zal dus de Release versie voor Win32 builden, ookal heb je handmatig x64 gekozen in de dropdown in de toolbar.
Huidige code:
Nou weet ik dat het automation model niet volledig is (VS zelf of een VSIP package kan meer dan een standaard addin of macro), en er wordt nogal gerant op de representatie van solution en project configs in het automation model, maar over specifiek dit probleem kan ik niets vinden. Overigens heb ik deze vraag ook gesteld op het MSDN forum, en ook daar blijft het angstvallig stil.
Huidige code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
| Public Sub BuildStartupProject() DTE.Documents.SaveAll() Dim build As SolutionBuild = DTE.Solution.SolutionBuild For Each project As String In build.StartupProjects build.BuildProject(build.ActiveConfiguration.Name, project, False) Next End Sub |
Nou weet ik dat het automation model niet volledig is (VS zelf of een VSIP package kan meer dan een standaard addin of macro), en er wordt nogal gerant op de representatie van solution en project configs in het automation model, maar over specifiek dit probleem kan ik niets vinden. Overigens heb ik deze vraag ook gesteld op het MSDN forum, en ook daar blijft het angstvallig stil.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.