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です。VisualStudioがそのファイルをコピーしようとすると、問題が発生します。そのことはすべて忘れてください。

私は...するだろう

  • SQL Server Expressインスタンス(CREATE DATABASE .....Mgmt Studio内)にデータベースを作成します
  • 物理ファイル名ではなく、論理名でデータベースと通信します

したがって、データベースをSQL Server Expressサーバーインスタンスに配置し、次のような接続文字列を使用します。

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

面倒なファイル名はありません。VisualStudioは実行時にファイルをコピーする必要はありません。データはサーバー上にあり、そこで使用および管理できます。私にとっては、はるかにクリーンで優れたアプローチのようです。

于 2012-04-20T04:51:37.877 に答える