Migrar un servicio de lenguaje heredadoMigrating a Legacy Language Service

Puede migrar un servicio de lenguaje heredado a una versión posterior de Visual Studio mediante la actualización del proyecto y agregar un archivo source.extension.vsixmanifest al proyecto.You can migrate a legacy language service to a later version of Visual Studio by updating the project and adding a source.extension.vsixmanifest file to the project. El propio servicio de lenguaje continuarán funcionando como antes, porque el editor de Visual Studio adapta a él.The language service itself will continue to function as before, because the Visual Studio editor adapts it.

Los servicios de lenguaje heredado se implementan como parte de un paquete VSPackage, pero la forma más reciente para implementar características del servicio de lenguaje es utilizar las extensiones MEF.Legacy language services are implemented as part of a VSPackage, but the newer way to implement language service features is to use MEF extensions. Para obtener más información acerca de la nueva forma de implementar un servicio de lenguaje, consulte Editor y extensiones de servicio de lenguaje.To find out more about the new way to implement a language service, see Editor and Language Service Extensions.

Note

Le recomendamos que empiece a usar el nuevo editor de API tan pronto como sea posible.We recommend that you begin to use the new editor API as soon as possible. Esto mejora el rendimiento de su servicio de lenguaje y le permiten aprovechar las nuevas características del editor.This will improve the performance of your language service and let you take advantage of new editor features.

Migrar una solución de servicio de lenguaje de Visual Studio 2008 a una versión posteriorMigrating a Visual Studio 2008 Language Service Solution to a Later Version

Los pasos siguientes muestran cómo adaptar un ejemplo de Visual Studio 2008 denominado RegExLanguageService.The following steps show how to adapt a Visual Studio 2008 sample named RegExLanguageService. Puede encontrar este ejemplo en una instalación de SDK de Visual Studio 2008, en la ruta de instalación del SDK de Visual Studio\VisualStudioIntegration\Samples\IDE\CSharp\Example.RegExLanguageService\ carpeta.You can find this sample in a Visual Studio 2008 SDK installation, in the Visual Studio SDK installation path\VisualStudioIntegration\Samples\IDE\CSharp\Example.RegExLanguageService\ folder.

Important

Si el servicio de lenguaje no define los colores, debe establecer explícitamente RequestStockColors a true en el VSPackage:If your language service does not define colors, you must explicitly set RequestStockColors to true on the VSPackage:

[Microsoft.VisualStudio.Shell.ProvideLanguageService(typeof(YourLanguageService), YourLanguageServiceName, 0, RequestStockColors = true)]  

Para migrar un servicio de lenguaje de Visual Studio 2008 a una versión posteriorTo migrate a Visual Studio 2008 language service to a later version

  1. Instale las versiones más recientes de Visual Studio y el SDK de Visual Studio.Install the newer versions of Visual Studio and the Visual Studio SDK. Para obtener más información acerca de formas de instalar el SDK, consulte instalar el SDK de Visual Studio.For more information about ways to install the SDK, see Installing the Visual Studio SDK.

  2. Edite el archivo RegExLangServ.csproj (sin cargarlos en Visual Studio.Edit the RegExLangServ.csproj file (without loading it in Visual Studio.

    En el Import nodo que hace referencia al archivo Microsoft.VsSDK.targets, reemplace el valor con el siguiente texto.In the Import node that refers to the Microsoft.VsSDK.targets file, replace the value with the following text.

    $(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\VSSDK\Microsoft.VsSDK.targets  
    
  3. Guarde el archivo y, a continuación, ciérrelo.Save the file, and then close it.

  4. Abra la solución RegExLangServ.sln.Open the RegExLangServ.sln solution.

  5. El actualización unidireccional aparecerá la ventana.The One-way upgrade window appears. Haga clic en Aceptar.Click OK.

  6. Actualizar las propiedades del proyecto.Update the project properties. Abra la propiedades del proyecto ventana, seleccione el nodo de proyecto en el el Explorador de soluciones, clic y seleccione propiedades.Open the Project Properties window by selecting the project node in the Solution Explorer, right-clicking, and selecting Properties.

    • En el aplicación , modifique .NET framework de destino a 4.6.1.On the Application tab, change Target framework to 4.6.1.

    • En el depurar ficha la iniciar programa externo , escriba <ruta de instalación de Visual Studio > \Common7\IDE\devenv.exe..On the Debug tab, in the Start external program box, type <Visual Studio installation path>\Common7\IDE\devenv.exe..

      En el argumentos de línea de comandos , escriba //rootsuffix Exp.In the Command line arguments box, type /rootsuffix Exp.

  7. Actualizar las referencias siguientes:Update the following references:

    • Quite la referencia a Microsoft.VisualStudio.Shell.9.0.dll, a continuación, agregue referencias a Microsoft.VisualStudio.Shell.14.0.dll y Microsoft.VisualStudio.Shell.Immutable.11.0.dll.Remove the reference to Microsoft.VisualStudio.Shell.9.0.dll, then add references to Microsoft.VisualStudio.Shell.14.0.dll and Microsoft.VisualStudio.Shell.Immutable.11.0.dll.

    • Quite la referencia a Microsoft.VisualStudio.Package.LanguageService.9.0.dll, a continuación, agregue una referencia a Microsoft.VisualStudio.Package.LanguageService.14.0.dll.Remove the reference to Microsoft.VisualStudio.Package.LanguageService.9.0.dll, then add a reference to Microsoft.VisualStudio.Package.LanguageService.14.0.dll.

    • Agregue una referencia a Microsoft.VisualStudio.Shell.Interop.10.0.dll.Add a reference to Microsoft.VisualStudio.Shell.Interop.10.0.dll.

  8. Abra el archivo VsPkg.cs y cambie el valor de la DefaultRegistryRoot atribuir aOpen the VsPkg.cs file and change the value of the DefaultRegistryRoot attribute to

    "Software\\Microsoft\\VisualStudio\\14.0Exp"  
    
  9. El ejemplo original no registra su servicio de lenguaje, por lo que debe agregar el atributo siguiente a VsPkg.cs.The original sample does not register its language service, so you must add the following attribute to VsPkg.cs.

    [ProvideLanguageService(typeof(RegularExpressionLanguageService), "RegularExpressionLanguage", 0, RequestStockColors=true)]  
    
  10. Debe agregar un archivo source.extension.vsixmanifest.You must add a source.extension.vsixmanifest file.

    • Copie este archivo desde una extensión existente en el directorio del proyecto.Copy this file from an existing extension to your project directory. (Es una manera de obtener este archivo crear un proyecto VSIX (bajo archivo, haga clic en New, a continuación, haga clic en proyecto.(One way to get this file is to create a VSIX project (under File, click New, then click Project. Haga clic en Visual Basic o C# extensibilidad, a continuación, seleccione proyecto VSIX.)Under Visual Basic or C# click Extensibility, then select VSIX Project.)

    • Agregue el archivo al proyecto.Add the file to your project.

    • En el archivo propiedades, establezca acción de compilación a ninguno.In the file's Properties, set Build Action to None.

    • Abra el archivo con el Editor de manifiestos VSIX.Open the file with the VSIX Manifest Editor.

    • Cambiar los campos siguientes:Change the following fields:

    • Id. de: RegExLangServID: RegExLangServ

    • Nombre de producto: RegExLangServProduct Name: RegExLangServ

    • Descripción: un servicio de lenguaje de expresión regular.Description: A regular expression language service.

    • En activos, haga clic en New, seleccione la tipo a Microsoft.VisualStudio.VsPackage, establezca el origen a un proyecto de la solución actualy, a continuación, establezca el proyecto a RegExLangServ.Under Assets, click New, select the Type to Microsoft.VisualStudio.VsPackage, set the Source to A project in current solution, and then set the Project to RegExLangServ.

    • Guarde y cierre el archivo.Save and close the file.

  11. Compile la solución.Build the solution. Los archivos generados se implementan en %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0Exp\Extensions\MSIT\ RegExLangServ\.The built files are deployed to %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0Exp\Extensions\MSIT\ RegExLangServ\.

  12. Inicie la depuración.Start debugging. Abre una segunda instancia de Visual Studio.A second instance of Visual Studio opened.

Vea tambiénSee Also

Extensibilidad de servicio de lenguaje heredadoLegacy Language Service Extensibility