我有以下连接字符串:
string connectionstr = "Data Source=.\\SQLEXPRESS;" + "AttachDbFilename=|DataDirectory|\\..\\..\\Datenbank\\FarmersCalc.mdf;" + "Integrated Security=True;" + "User Instance=true;";
据我所知,|DataDirectory|
是/bin/debug
- 文件夹。
mdf文件位于文件夹Datenbank
中,这肯定位于我在连接字符串中输入的文件夹中。
似乎,..\\
无效。
有没有人有解决这个问题的方法?
答案 0 :(得分:2)
您可以使用以下代码计算目录。
//these two lines get the executable's directory
Uri u = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase);
DirectoryInfo d = new DirectoryInfo(Path.GetDirectoryName(u.LocalPath));
//this goes up two directories and combines that directory with the rest
//of the path to the file
string path = Path.Combine(d.Parent.Parent.FullName, @"Datenbank\FarmersCalc.mdf;");
Console.WriteLine(path);