运行 .exe 时无法访问 setting.setting 文件
Can't access the setting.setting file while runing the .exe
我只在 settings.settings 中存储了数据库位置和数据库名称 file.I 我能够在调试时从 Settings.Settings 文件访问连接字符串。但是当我 运行 可执行文件时,它不会加载我在 setting.settings file.The 中的连接字符串中使用的数据库,用户可以根据用户需要动态更改设置文件。我的连接字符串就像-
public static string sd =System.AppDomain.CurrentDomain.BaseDirectory.ToString();
public static string co = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sd +"\Data\"+ Properties.Settings.Default.db+".accdb";
转到项目的属性并使其基于应用程序而不是基于用户。
.The problem I'm facing now is if the user should dynamically change the settings.setting file
不,用户不能动态执行此操作,因为文件已被应用程序锁定。如果用户进行了更改,则需要重新启动应用程序,但只有当文件未被应用程序锁定时,更改才会再次发生。
使连接字符串基于用户毫无意义,除非每个用户都应该有不同的连接字符串。
编辑
如果您想动态更改连接,则要么像对待 XML 文件一样对待设置文件并修改它,要么将连接字符串存储在另一个源(如文件或数据库)中。
我只在 settings.settings 中存储了数据库位置和数据库名称 file.I 我能够在调试时从 Settings.Settings 文件访问连接字符串。但是当我 运行 可执行文件时,它不会加载我在 setting.settings file.The 中的连接字符串中使用的数据库,用户可以根据用户需要动态更改设置文件。我的连接字符串就像-
public static string sd =System.AppDomain.CurrentDomain.BaseDirectory.ToString();
public static string co = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sd +"\Data\"+ Properties.Settings.Default.db+".accdb";
转到项目的属性并使其基于应用程序而不是基于用户。
.The problem I'm facing now is if the user should dynamically change the settings.setting file
不,用户不能动态执行此操作,因为文件已被应用程序锁定。如果用户进行了更改,则需要重新启动应用程序,但只有当文件未被应用程序锁定时,更改才会再次发生。
使连接字符串基于用户毫无意义,除非每个用户都应该有不同的连接字符串。
编辑
如果您想动态更改连接,则要么像对待 XML 文件一样对待设置文件并修改它,要么将连接字符串存储在另一个源(如文件或数据库)中。