完全なエラー:
ファイル「obj\x86\debug\myForm.exe」をコピーできません。別のプロセスで使用されているため、プロセスはファイル 'bin\debug\myForm.exe' にアクセスできません。
これは VS の悪名高いバグで、多くの人が持っていると読んだことがあります。私が調査したすべてのことは、プログラムが使用するすべてのリソースを適切に「クリーンアップ」しないという方向性を示しているため、アプリケーションの formClosed イベントハンドラーに2行を含めましたが、それでも問題は解決していません問題。以下は私のコードです:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.ServiceProcess;
using System.Diagnostics;
namespace Service_Control_Panel {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
const string serviceName = "AgentService";
ServiceController sc;
private void Form1_Load(object sender, EventArgs e) {
sc = new ServiceController("AgentService");
statusRefresh.Enabled = true;
}
private void startBtn_Click(object sender, EventArgs e) {
sc.Start();
}
private void stopBtn_Click(object sender, EventArgs e) {
sc.Stop();
}
private void statusRefresh_Tick(object sender, EventArgs e) {
statusBox.Text = Convert.ToString(sc.Status);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e) {
System.Diagnostics.Process.GetCurrentProcess().Kill();
Application.Exit();
}
}
}
なぜこれが問題なのか、私は正直に途方に暮れています。これに加えて、プログラムは「myForm.exe」または何を持っているかとして、タスクマネージャーのプロセスタブで実行されていません。そして、変更を行った後に最終的に新しいバージョンをビルドできる唯一の方法は、システムを再起動することです! VSを再起動してもこれは解決しません。