Visual Studio で基本的な CRUD Winforms アプリケーションを作成し、Build -> Publish Data で生成された .exe を使用して別の PC にデプロイしました。アプリケーションのソリューション内のデータベースおよびその他のファイルは、ターゲット マシンのどこに格納されますか?
1 に答える
あなたが説明しているのは「ワンクリック公開」です。
「ワンクリック」からアプリケーションを実行すると、実際には一時フォルダー (通常は C:\Users\?\AppData 内) から実行されます。これは、タスク マネージャー (プロパティの下) で確認できます。
これは、アプリケーションが更新されたときに、新しいインストール ファイルがまったく新しい場所から実行され、アプリケーションがサーバーから新たに実行されているように見えるようにするためです (実際にはそうではなく、クライアント ファイルをダウンロードしているだけです)。
データベース ファイルが異なります。ユーザーに独自のローカル クライアント データベースを持たせたい場合は、Visual Studio のソリューション ファイルでデータベースを参照すると、ワンクリックでデータベースがコピーされます。ただし、最初の段落で説明したことにより、アプリケーションが更新されるたびに新しいデータベースがコピーされ、最後の展開で作成/更新/削除されたデータベース レコードが失われます。
より一般的な方法は、「ワンクリック」でクライアント ファイルを展開し、App.config で指定された接続文字列を介して接続するクライアントを使用して、サーバーでデータベースをホストすることです。したがって、維持するデータベースは 1 つだけであり、クライアントの更新によって DB のバージョン管理が混乱することはありません。