完整的错误:
无法复制文件“obj\x86\debug\myForm.exe”。该进程无法访问文件“bin\debug\myForm.exe”,因为它正被另一个进程使用。
这是一个臭名昭著的 VS 错误,我读过很多人都有。我研究过的所有事情都指向了我没有正确“清理”程序使用的所有资源的方向,所以我在应用程序的 formClosed 事件处理程序中包含了两行,但这仍然没有解决问题。下面是我的代码:
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 也无法解决此问题。