12 votes

Le nom du type ou de l'espace de noms "ServiceController" n'a pas été trouvé.

J'essaie de contrôler un service en C#, j'ai ajouté la fonction System.ServiceProcess.dll

Bien que je reçoive l'erreur :

Erreur 2 Le nom du type ou de l'espace de noms 'ServiceController' n'a pas pu être trouvé (manque-t-il une directive using ou une référence d'assemblage ?) D:\App\Form1.cs 247 13 App

Mon code est le suivant :

private void button13_Click(object sender, EventArgs e)
{
    ServiceController sc = new ServiceController("Spooler");

    if (sc.Status == ServiceControllerStatus.Running)
    {
        MessageBox.Show("The service is running.");
    }
}

Ai-je besoin d'une déclaration d'utilisation ?

16voto

Gustavo Mori Points 2649

Vous devez ajouter une référence au fichier System.ServiceProcess.dll

enter image description here

Après cela, vous pourrez le voir dans Visual Studio, comme l'un des éléments de l'interface utilisateur. using que vous pouvez ajouter à votre projet :

enter image description here

5voto

Robert Groves Points 3867

Conseil de pro : Lorsque vous essayez d'utiliser une classe du .NET Framework et que vous obtenez un message du type :

Le nom de type ou d'espace de noms '...' n'a pas pu être trouvé. n'a pas été trouvé (manque-t-il une directive using ou une référence d'assemblage).

Rechercher le type dans la base de données Bibliothèque MSDN et consultez la section Hiérarchie d'héritage pour trouver l'espace de noms et l'assemblage dont vous avez besoin.

Hiérarchie d'héritage

System.Object   
  System.MarshalByRefObject  
    System.ComponentModel.Component  
      System.ServiceProcess.ServiceController  

Espace de noms : System.ServiceProcess
Assemblage : System.ServiceProcess (dans System.ServiceProcess.dll )

Assurez-vous ensuite que vous avez une référence à l'assemblée et un Directive d'utilisation pour l'espace de noms (en supposant que vous ne souhaitiez pas qualifier complètement le nom).

3voto

ataddeini Points 3851

Oui, au sommet.

using System.ServiceProcess;

1voto

wjhguitarman Points 1023

Pour moi (Visual Studio 2012), ce n'était pas un ajout par défaut lors de la saisie de "using" J'ai dû ajouter une référence et rechercher System.ServiceProcess dans les assemblages. (Je crois qu'il se trouve dans l'onglet .NET dans les anciennes versions de Studio). J'espère que cela aidera les futurs utilisateurs !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X