none
[Ayuda] No está definido ServiceControllerEx.ServiceControllerEx con Net Framework 4.6

    Pregunta

  • Hola amigos,

    Tengo lo siguiente que me dice que no esta definido, tengo importado la librería Imports System.ServiceProcess y no me lo coge al igual que en código.

    Dim SrvcOne As New ServiceControllerEx.ServiceControllerEx

    Lo tengo en un modulo. Espero vuestra ayuda

    Gracias

    domingo, 21 de agosto de 2016 0:16

Respuestas

  • "Symantecc" escribió:

    > Tengo lo siguiente que me dice que no esta definido, tengo importado
    > la librería Imports System.ServiceProcess y no me lo coge al igual
    > que en código.
    >
    > Dim SrvcOne As New ServiceControllerEx.ServiceControllerEx

    Pero, ¿la clase ServiceControlerEx pertenece a algún ensamblado del propio marco de trabajo de .NET, sea versión 4.6 u otra diferente, o se trata de alguna otra clase que hereda de la clase System.ServiceProcess.ServiceController y se encuentra en algún otro ensamblado de terceras partes que no se corresponde con el .NET Framework de Microsoft?

    Si te estás refiriendo a la clase System.ServiceProcess.ServiceControler, tienes que referenciar en tu proyecto el ensamblado System.ServiceProcess.dll, e importar en tu módulo el siguiente espacio de nombres si deseas abreviar el nombre de los métodos y propiedades de la clase:   

    Imports System.ServiceProcess

    Pero en ese ensamblado, que yo sepa NO EXISTE ningún espacio de nombres llamado ServiceControllerEx, y por tanto, tampoco una clase llamada ServiceControllerEx.

    Si por casualidad esa clase llamada ServiceControllerEx.ServiceControllerEx la has copiado de algún código existente por Internet, procura hacerte con el ensamblado completo *.dll (si se trata de una biblioteca de clases), o si solamente tienes el código fuente de la misma, créate tu propia biblioteca de clases para que la puedas referenciar desde aquellos otros proyectos donde deseas hacer uso de ella.

    Buscando por Internet una clase ServiceControllerEx, me he encontrado con un par de enlaces que indico más abajo, donde extienden la clase System.ServiceProcess.ServiceControler del marco de trabajo de .NET:

    Extend ServiceController class to change the StartupType of Windows Services

    Visual Studio 2008/CSControlWindowsService/ServiceControllerEx.cs

    Ambos códigos están escritos en C#, donde el primero de ellos crea una clase ServiceControllerEx que hereda directamente de la clase System.ServiceProcess.ServiceControler, no así la clase ServiceControllerEx del segundo enlace, que lo que hace es implementar una serie de métodos compartidos (Shared en Visual Basic .NET y Static en C#) para ampliar la funcionalidad de la clase System.ServiceProcess.ServiceControler.

    Pero si no dispones de un archivo *.dll con el código compilado de algunas de las clases indicadas, tendrás que crear un nuevo proyecto de bibliotecas de clase, crear en el mismo una nueva clase llamada ServiceControllerEx, y pegar en ella el código fuente de alguna de las clases comentadas más arriba, o bien, de aquel otro código fuente correspondiente a otra clase ServiceControllerEx diferentes de las indicadas que quieras utilizar.

    Ni que decir tiene que en ese proyecto *.dll nuevo, o en aquel otro que haga uso directo o derivado de la clase System.ServiceProcess.ServiceControler, tendrás que referenciar en el mismo el ensamblado System.ServiceProcess.dll.


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.




    domingo, 21 de agosto de 2016 6:10
    Moderador