質問

アプリにSQL Ce dbがあり、アプリディレクトリに含まれています。デバッグ中はOKですが、setup.exeで公開して実行すると、「ファイルが見つかりません」を取得します。アプリの実行元の一時ディレクトリ内。標準の場所から実行したいのですが、変更方法がわかりません。

この文字列を使用しています:

SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");

setup.exeを実行すると、アプリが起動せず、一時ディレクトリにdbファイルが見つからなかったと表示されます。 app.exeを実行すると機能します。わかりません...:(

編集:VSプロジェクト設定には、接続文字列があり、" Data Source = | DataDirectory | \ Database.sdf"

があることがわかります。

パスはローカルディレクトリのようなものでなければなりませんか?ありがとう!

役に立ちましたか?

解決

接続文字列を動的に構築します。このようなもの:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top