我正在以编程方式创建一个SQL数据库文件,并希望确保每次都要创建一个新的数据库文件,因此我添加了delete方法。因为每个数据库文件都是用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();发布于 2011-06-01 04:12:53
|DataDirectory|是连接字符串表示法,与文件系统路径无关。
您可以使用如下代码删除该文件:
var directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var fileName = Path.Combine(directoryName, "Foo2Database.sdf");
File.Delete(fileName);如果您设置了当前的DataDirectory,可以通过AppDomain.CurrentDomain.GetData("DataDirectory");获得它。
如果您有asp.net,默认情况下,DataDirectory将是Server.MapPath("~/App_Data");。
发布于 2011-06-01 04:11:10
如果应用程序是网络部署的,您可以使用它获取数据目录的路径
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory否则,您可以使用这个
System.AppDomain.CurrentDomain.BaseDirectoryhttps://stackoverflow.com/questions/6196152
复制相似问题