2012-01-11 21 views
2

Windowsサービスを作成しました。このサービスをWebページから構成できる管理パネルがあります。これを行うために私はデータベースを使用しています。だから基本的に私がやっていることは、dbから値を変更し、サービスがそれを読み取り、実行時間を変更するなどです。タイプまたは名前空間の名前 'ServiceController'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありません)

私の問題は私の開発サーバーにあります。私は私のサービスをインストールし、本番サーバーにWebページをアップロードするとき、私はこのエラーに

型または名前空間名を取得しています「ServiceControllerの」が見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

私のウェブページでこのエラーが発生しています。私はそれがインストールされ、正常に動作するサービスをチェックしたが、私はこの例外が発生するサービスの構成ページに移動しようとしているとき。私のプロジェクトでは、私は​​がトップに追加されていると私は私の解決策を構築するときに参照してくださいこのDLLの参照エラーdoesntが表示されます。また、デザイナーではすでにインポートされているようです。

<@ Import Namespace="System.ServiceProcess">;何が問題なのですか? 32ビット/ 64ビットの問題になりますか? (私はそれが意味をなさないdoesntの知っているが、任意の助けには理解されるであろう)

ServiceController agService = new ServiceController("Buddy Service"); 
while (agService.Status == ServiceControllerStatus.Running) 
{     
    lblServiceStatus.Text = "Running"; 
    lblServiceStatus.ForeColor = Color.LimeGreen; 
    btnStopService.Enabled = true; 
    btnStartService.Enabled = false; 
    break; 
} 

それは私が「バディ・サービスは、」サービスのリストにあることを確認してきたライン

ServiceController agService = new ServiceController("Buddy Service"); 

に例外をスローし、します。

+0

はい同じバージョンのmy devマシンと本番サーバーを対象にしています。 –

+0

は2.0に設定されます。しかし、私のような他のプロジェクトでは、その問題はありません。私はここで何かを逃していると思う。 –

+0

例外をスローしているコードを表示できますか? –

答えて

2

あなたが正しく参照されるアセンブリを持っているようですね。これに

while (agService.Status == ServiceControllerStatus.Running) 

:あなたはおそらくも、この行を変更する必要があります、

var agService = new System.ServiceProcess.ServiceController("Buddy Service"); 

これが動作する場合:これに

ServiceController agService = new ServiceController("Buddy Service"); 

この行を変更してみてください:

​​
+0

私はこれを試して、あなたに戻ってきます。それは妥当と思われる。 –

+0

解決策のようです。私は本当に助けに感謝します。 –

2

は、ユーザーリストよりご参照リストにSystem.ServiceProcessを追加してください:

Example

+0

さて、それはWebアプリケーションです、私は参照フォルダを持っていない、あなたが表示する画像はコンソールアプリケーションにあります。私は右クリックして参照を追加してdllを追加しようとしました。System.ServiceProcessを.Netタブから見つけて追加しましたが、フォルダのどれにもdllの参照を見ることができません。しかし、プロジェクトを右クリックしてプロパティを選択すると、リファレンス、ビルド、アクセシビリティが得られます。私の参照リストには、System.ServiceProcessが表示されています。 –

関連する問題

 関連する問題