Monthly Archives: April 2008

Las plantillas de Visual Studio 2005 desaparecen después de instalar “Visual Studio 2005 Extensions for Windows Workflow Foundation (EN)”

1
Filed under Bizarre

Cuando instalé “Visual Studio 2005 Extensions for Windows Workflow Foundation (EN)” y abrí Visual Studio para crear un nuevo proyecto me encontré con que las plantillas que tenía instaladas habían desaparecido quedando sólo las de Workflow. Buscando encontré que correr “devenv /InstallVSTemplates” podía solucionar el problema pero no fue así. Abrí la carpeta que Visual Studio utiliza por defecto para levantar las plantillas de proyecto (“C:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\”) y me encontré con la siguiente estructura:

|
+—CSharp
| +—Database
| | | TemplateIndex.vstdir
| | |
| | \—1033
| | SqlServerLib.zip
| |
| +—Office
| | | office.vstdir
| | |
| | \—1033
| | VSTOExcelTemplate.zip
| | VSTOExcelWorkbook.zip
| | VSTOOutlookAddin.zip
| | VSTOWordDocument.zip
| | VSTOWordTemplate.zip
| |
| +—SmartDevice
| | | TemplateIndex.vstdir
| | |
| | +—PocketPC2003
| | | | TemplateIndex.vstdir
| | | |
| | | \—1033
| | | PocketPC2003-ClassLibrary.zip
| | | PocketPC2003-ConsoleApplication.zip
| | | PocketPC2003-EmptyProject.zip
| | | PocketPC2003-WindowsApplication.zip
| | | PocketPC2003-WindowsControlLibrary.zip
| | | PocketPCV1-ClassLibrary.zip
| | | PocketPCV1-ConsoleApplication.zip
| | | PocketPCV1-EmptyProject.zip
| | | PocketPCV1-WindowsApplication.zip
| | |
| | +—Smartphone2003
| | | | TemplateIndex.vstdir
| | | |
| | | \—1033
| | | Smartphone2003-ClassLibrary.zip
| | | Smartphone2003-ConsoleApplication.zip
| | | Smartphone2003-EmptyProject.zip
| | | Smartphone2003-WindowsApplication.zip
| | |
| | \—WindowsCE
| | | TemplateIndex.vstdir
| | |
| | \—1033
| | WindowsCE-ClassLibrary.zip
| | WindowsCE-ConsoleApplication.zip
| | WindowsCE-EmptyProject.zip
| | WindowsCE-WindowsApplication.zip
| | WindowsCE-WindowsControlLibrary.zip
| |
| +—Starter Kits
| | | StarterKits.vstdir
| | |
| | \—1033
| | MovieCollection.zip
| | ScreenSaver.zip
| |
| +—Test
| | | Test.vstdir
| | |
| | \—1033
| | TestProject.zip
| |
| +—Web
| | \—1033
| | WebApplicationProject.zip
| | WebServiceProject.zip
| |
| +—Windows
| | | Windows.VSTDIR
| | |
| | \—1033
| | ClassLibrary.zip
| | ConsoleApplication.zip
| | CRWindowsApplication.zip
| | EmptyProject.zip
| | WebControl.zip
| | WindowsApplication.zip
| | WindowsControl.zip
| | WindowsService.zip
| |
| \—Workflow
| ActivityLibrary.zip
| EmptyWorkflowProject.zip
| SequentialWorkflowConsoleApplication.zip
| SequentialWorkflowLibrary.zip
| StateMachineWorkflowConsoleApplication.zip
| StateMachineWorkflowLibrary.zip
| TemplateIndex.vstdir
| |
+—VisualBasic
| +—Database
| | | TemplateIndex.vstdir
| | |
| | \—1033
| | SqlServerLib.zip
| |
| +—Office
| | | office.vstdir
| | |
| | \—1033
| | VSTOExcelTemplate.zip
| | VSTOExcelWorkbook.zip
| | VSTOOutlookAddin.zip
| | VSTOWordDocument.zip
| | VSTOWordTemplate.zip
| |
| +—SmartDevice
| | | TemplateIndex.vstdir
| | |
| | +—PocketPC2003
| | | | TemplateIndex.vstdir
| | | |
| | | \—1033
| | | PocketPC2003-ClassLibrary.zip
| | | PocketPC2003-ConsoleApplication.zip
| | | PocketPC2003-EmptyProject.zip
| | | PocketPC2003-WindowsApplication.zip
| | | PocketPC2003-WindowsControlLibrary.zip
| | | PocketPCV1-ClassLibrary.zip
| | | PocketPCV1-ConsoleApplication.zip
| | | PocketPCV1-EmptyProject.zip
| | | PocketPCV1-WindowsApplication.zip
| | |
| | +—Smartphone2003
| | | | TemplateIndex.vstdir
| | | |
| | | \—1033
| | | Smartphone2003-ClassLibrary.zip
| | | Smartphone2003-ConsoleApplication.zip
| | | Smartphone2003-EmptyProject.zip
| | | Smartphone2003-WindowsApplication.zip
| | |
| | \—WindowsCE
| | | TemplateIndex.vstdir
| | |
| | \—1033
| | WindowsCE-ClassLibrary.zip
| | WindowsCE-ConsoleApplication.zip
| | WindowsCE-EmptyProject.zip
| | WindowsCE-WindowsApplication.zip
| | WindowsCE-WindowsControlLibrary.zip
| |
| +—Starter Kits
| | | StarterKits.vstdir
| | |
| | \—1033
| | MovieCollection.zip
| | ScreenSaver.zip
| |
| +—Test
| | | Test.vstdir
| | |
| | \—1033
| | TestProject.zip
| |
| +—Web
| | \—1033
| | WebApplicationProject.zip
| | WebServiceProject.zip
| |
| +—Windows
| | | Windows.VSTDIR
| | |
| | \—1033
| | ClassLibrary.zip
| | ConsoleApplication.zip
| | CRWindowsApplication.zip
| | EmptyProject.zip
| | WebControl.zip
| | WindowsApplication.zip
| | WindowsControl.zip
| | WindowsService.zip
| |
| \—Workflow
| ActivityLibrary.zip
| EmptyWorkflowProject.zip
| SequentialWorkflowConsoleApplication.zip
| SequentialWorkflowLibrary.zip
| StateMachineWorkflowConsoleApplication.zip
| StateMachineWorkflowLibrary.zip
| TemplateIndex.vstdir
|

Notarán que la carpeta “Workflow” tanto dentro de “CSharp” como dentro de “VisualBasic” no sigue el mismo patrón que las demás, que es tener una carpeta llamada “1033″ (U.S. English en mi caso ya que mi versión de Visual Studio está en inglés) y un archivo “.vstdir”. Es dentro de “1033″ que van los archivos .zip que en el caso de Workflow están sueltos. Dejé la estructura de la siguiente manera:

| \—Workflow
| | TemplateIndex.vstdir
| |
| \—1033
| ActivityLibrary.zip
| EmptyWorkflowProject.zip
| SequentialWorkflowConsoleApplication.zip
| SequentialWorkflowLibrary.zip
| StateMachineWorkflowConsoleApplication.zip
| StateMachineWorkflowLibrary.zip
|

Después fui a la carpeta “ItemTemplates” (“C:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\”) y me encontré con la siguiente estructura:

|
+—CSharp
| | ActivityWithCode.zip
| | ActivityWithCodeSeparation.zip
| | SequentialWorkflow.zip
| | SequentialWorkflowCodeSeparation.zip
| | StateMachineWorkflow.zip
| | StateMachineWorkflowCodeSeparation.zip
| | WorkflowWebConfig.zip
| |
| \—1033
| AboutBox.zip
| AppConfig.zip
| AppConfigInternal.zip
| AssemblyInfo.zip
| AssemblyInfoInternal.zip
| BitMap.zip
| BrowserFile.zip
| Class.zip
| ClassDiagram.zip
| CodeFile.zip
| Component.zip
| ContentPage.zip
| CrystalReport.zip
| Cursor.zip
| CustomControl.zip
| DataSet.zip
| EmptyDatabase.zip
| Form.zip
| GenericTest.zip
| GlobalAsax.zip
| Handler.zip
| HelpTest.zip
| HTMLPage.zip
| Icon.zip
| Installer.zip
| Interface.zip
| JScript.zip
| LoadTest.zip
| ManualTestTextFormat.zip
| ManualTestWordFormat.zip
| MasterPage.zip
| MDIParent.zip
| NestedWebConfig.zip
| NETCFv1-Class.zip
| NETCFv1-Component.zip
| NETCFv1-CustomControl.zip
| NETCFv1-Form.zip
| NETCFv1-Resource.zip
| NETCFv2-BlankDatabase.zip
| NETCFv2-Class.zip
| NETCFv2-Component.zip
| NETCFv2-CustomControl.zip
| NETCFv2-DesignTimeAttributes.zip
| NETCFv2-Form.zip
| NETCFv2-UserControl.zip
| OrderedTest.zip
| RecordWebTest.zip
| Report.zip
| Resource.zip
| ResourceInternal.zip
| Service.zip
| Settings.zip
| SettingsInternal.zip
| SimpleUnitTest.zip
| SiteMap.zip
| SkinFile.zip
| SqlAggregate.zip
| SqlFunction.zip
| SqlStoredProcedure.zip
| SqlTestScript.zip
| SqlTrigger.zip
| SqlUserDefinedType.zip
| StyleSheet.zip
| TextFile.zip
| UnitTestWizard.zip
| UserControl.zip
| VBScript.zip
| Visualizer.zip
| VSTOActionsPaneControl.zip
| WebClass.zip
| WebConfig.zip
| WebCustomControl.zip
| WebForm.zip
| WebHtmlPage.zip
| WebService.zip
| WebuserControl.zip
| WinScript.zip
| XMLFile.zip
| XMLSchema.zip
| XSLTFile.zip
|
+—VisualBasic
| | ActivityWithCode.zip
| | ActivityWithCodeSeparation.zip
| | SequentialWorkflow.zip
| | SequentialWorkflowCodeSeparation.zip
| | StateMachineWorkflow.zip
| | StateMachineWorkflowCodeSeparation.zip
| | WorkflowWebConfig.zip
| |
| \—1033
| AboutBox.zip
| AppConfiguration.zip
| AppConfigurationInternal.zip
| AssemblyInfoInternal.zip
| Bitmap.zip
| BrowserFile.zip
| Class.zip
| ClassDiagram.zip
| CodeFile.zip
| ComClass.zip
| Component.zip
| ContentPage.zip
| CrystalReport.zip
| cursor.zip
| CustomControl.zip
| Dataset.zip
| Dialog.zip
| EmptyDatabase.zip
| Explorer.zip
| Form.zip
| GenericTest.zip
| GlobalAsax.zip
| Handler.zip
| HelpTest.zip
| HTMLPage.zip
| Icon.zip
| Installer.zip
| Interface.zip
| JScript.zip
| LoadTest.zip
| LoginForm.zip
| ManualTestTextFormat.zip
| ManualTestWordFormat.zip
| MasterPage.zip
| MDIParent.zip
| Module.zip
| MTSTransactionClass.zip
| NestedWebConfig.zip
| NETCFv1-Class.zip
| NETCFv1-Component.zip
| NETCFv1-CustomControl.zip
| NETCFv1-Form.zip
| NETCFv1-Resource.zip
| NETCFv2-BlankDatabase.zip
| NETCFv2-Class.zip
| NETCFv2-Component.zip
| NETCFv2-CustomControl.zip
| NETCFv2-DesignTimeAttributes.zip
| NETCFv2-Form.zip
| NETCFv2-UserControl.zip
| OrderedTest.zip
| RecordWebTest.zip
| Report.zip
| resource.zip
| ResourceInternal.zip
| Settings.zip
| SettingsInternal.zip
| SimpleUnitTest.zip
| SiteMap.zip
| SkinFile.zip
| SplashScreen.zip
| SqlAggregate.zip
| SqlFunction.zip
| SqlStoredProcedure.zip
| SqlTestScript.zip
| SqlTrigger.zip
| SqlUserDefinedType.zip
| StyleSheet.zip
| Text.zip
| UnitTestWizard.zip
| UserControl.zip
| UserService.zip
| VSTOActionsPaneControl.zip
| WebConfig.zip
| webcontrol.zip
| WebForm.zip
| WebHtmlPage.zip
| WebService.zip
| WebuserControl.zip
| XMLFile.zip
| XSDSchema.zip
| XSLTFile.zip
|

Entonces moví los .zip de Workflow que están “sueltos” a la carpeta “1033″. Finalmente, borré las carpetas “ProjectTemplatesCache” e “ItemTemplatesCache” (“C:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\”) que son las que realmente utiliza Visual Studio para levantar las plantillas, y corrí “devenv /InstallVSTemplates”. Abrí Visual Studio y vi que las plantillas que tenía anteriormente estaban en su lugar y además aparecían las nuevas de Workflow en su respectiva categoría.