C# 如何删除在DataDirectory中创建的.sdf文件
我正在以编程方式创建一个SQL CE数据库文件,并希望确保每次都创建一个新的SQL CE数据库文件,因此我添加了delete方法。由于每个数据库文件都是在C# 如何删除在DataDirectory中创建的.sdf文件,c#,sql-server-ce,C#,Sql Server Ce,我正在以编程方式创建一个SQL CE数据库文件,并希望确保每次都创建一个新的SQL CE数据库文件,因此我添加了delete方法。由于每个数据库文件都是在DataDirectory中创建的,因此我也想删除DataDirectory中的文件,但它给了我 “路径中的非法字符”错误 以下是我的代码: /* illegal characters in path */ File.Delete("|DataDirectory|\\Foo2Database.sdf"); string connString
DataDirectory
中创建的,因此我也想删除DataDirectory
中的文件,但它给了我
“路径中的非法字符”错误
以下是我的代码:
/* illegal characters in path */
File.Delete("|DataDirectory|\\Foo2Database.sdf");
string connString = @"Data Source=|DataDirectory|\Foo2Database.sdf";
SqlCeEngine engine = new SqlCeEngine(connString);
engine.CreateDatabase();
如果应用程序是网络部署的,您可以使用它获取数据目录的路径
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory
否则你可以用这个
System.AppDomain.CurrentDomain.BaseDirectory
| DataDirectory |
是连接字符串表示法,与文件系统路径无关
您可以使用如下代码删除该文件:
var directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var fileName = Path.Combine(directoryName, "Foo2Database.sdf");
File.Delete(fileName);
您可以通过AppDomain.CurrentDomain.GetData(“DataDirectory”)获取当前的DataDirectory
代码>如果您设置它
如果您有asp.net
DataDirectory
将是Server.MapPath(“~/App\u Data”)默认情况下为code>。它是从.NET1.1开始存在的。虽然已经使用了“System.IO”名称空间,但我仍然必须使用do“System.IO.Path.GetDirectoryName”。这可能是因为您声明了另一个路径
类。