我为应用程序创建了安装项目,我可以看到配置文件(Application.exe.config)的后期修改不会影响应用程序的执行。
我正在开发一个包含数据库文件的应用程序,我希望用户能够移动数据库文件并修改连接字符串。
有谁知道使用数据库文件部署应用程序的最佳实践是什么?
我为应用程序创建了安装项目,我可以看到配置文件(Application.exe.config)的后期修改不会影响应用程序的执行。
我正在开发一个包含数据库文件的应用程序,我希望用户能够移动数据库文件并修改连接字符串。
有谁知道使用数据库文件部署应用程序的最佳实践是什么?
它应该可以工作,前提是您在 DB 访问 DLL 的 Settings.settings 文件和应用程序的配置文件中使用完全相同的连接字符串设置。
一个适合我的例子:
<connectionStrings>
<add name="YourApp.Properties.Settings.DatabaseConnectionString"
connectionString="Data Source=localhost;Initial Catalog=xxx;Integrated Security=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>
当在两个位置(即 dll 的 Settings.settings 和 exe 的 App.config 文件)正确输入时,这确实允许我在应用程序运行之前更改 YourApp.exe.config 中的数据库连接。
(我假设您已经知道您需要更改应用程序的配置文件,因为 DLL 不直接支持 app.config 机制。)
您是否使用UDL 文件签出?如果您将连接字符串保存在 udl 文件中,用户只需双击该文件即可通过界面更改连接。您可以在应用程序中设置连接字符串以指向 udl 文件。如果需要,您还可以通过编程方式启动 udl 接口。唯一的缺点是如果用户将他们的密码保存到文件中,它会保存为纯文本。但是,如果您使用 Windows 身份验证,这不是问题。
您是否确保删除设置默认值?这些是从 dll 而不是从配置文件中编译和获取的。