如何在(App.config)connectionString中使用应用程序数据
我在一个项目中有一个SQL Server CE数据库,我不想将它存储在%AppData%目录中。 但是我找不到在连接字符串中引用Application Data路径的方法(在App.Config中)
到目前为止,我了解到:%APPDATA%不受支持,并且使用设置类(如建议的)也不起作用(在抛出exception时不构造设置类)。
是否可以在connectionString属性中使用应用程序数据文件夹(或其他特殊文件夹)(在App.Config中)?
注意:似乎我正在寻找一种解决方案来尽可能早地修改连接字符串(在代码中)而不是本机App.Config解决方案。
使用您的自定义构建环境变量支持:
让你有:
你可以使用:
using System.Configuration; // requires reference to System.Configuration.dll ConfigurationManager.ConnectionStrings["EntityConnectionString"].ConnectionString.Replace("%AppData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
接下来,您可以支持多个环境变量:
var vars = new Dictionary { { "%AppData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), { "%Temp%", Environment.GetFolderPath(SpecialFolder.Temp) }, // etc.. { "%YourNonStandardVar", "YourNonStandartPath" } }; var result = ConfigurationManager.ConnectionStrings["YourString"].ConnectionString foreach (var v in vars) result = result.Replace(v.Key, v.Value);
- 如何确定app.config文件是否存在
- 是否需要bindingRedirect .config文件或应用程序中的所有程序集?
- 如何通过app.config变量覆盖settings.settings变量
- “配置系统无法初始化”的App.Config错误
- 不要使用clickonce覆盖settings.settings文件
- 如何使LINQ to SQL使用在运行时修改的连接字符串?
- .NET ConfigurationManager app.config混淆
- 如何使用C#中的app.config文件定义连接字符串
- ConfigurationManager.AppSettings是否在.NET Core 2.0中可用?