1

尝试编译或运行应用程序时出现错误。

执行一个简单的教程,我起初工作,但现在当我生成项目 F6 或尝试运行它时,我总是得到错误

Error 1 Unable to copy "C:\Projects\DatabaseExampleApp\DatabaseExampleApp\App_Data\northwnd.mdf" to "bin\Debug\App_Data\northwnd.mdf". The process can not access the file 'bin\Debug\App_Data\northwnd.mdf' because it is being used by another process. DatabaseExampleApp

我第一次运行该应用程序时运行良好

我正在使用:

  • Visual Studio 2010 专业版
  • SQL Server 2012 Express 64 位

编辑:

后:

  • 杀死sqlservr.exe(是文件柜)
  • 自己删除文件northwnd.* northwnd_log.*
  • 生成项目 F6
  • 运行应用程序工作正常

但我有一个问题:

  • 如何杀死或卸载文件northwnd.mdf以避免此问题?

之后应用程序编译但不运行

4

1 回答 1

0

您没有向我们展示您的连接字符串,但我假设您正在使用某种AttachDbFileName=....方法。

我对此的建议是:不要那样做。摆弄.mdf文件,直接按位置指定它们很麻烦,当 Visual Studio 想要复制该文件时,您会遇到问题 - 忘记所有这些。

我会

  • 在 SQL Server Express 实例上创建数据库(CREATE DATABASE .....在 Mgmt Studio 中)
  • 通过其逻辑名称与数据库对话- 而不是物理文件名

所以我会将我的数据库放到 SQL Server Express 服务器实例上,然后使用类似这样的连接字符串:

 Server=.\SQLEXPRESS;Database=MyShinyDatabase;Integrated Security=SSPI;

没有杂乱的文件名,Visual Studio 不必在运行时复制文件或任何东西,您的数据在服务器上,可以在那里使用和管理 - 对我来说似乎是更干净、更好的方法。

于 2012-04-20T04:51:37.877 回答