C# 设计器运行的代码中的相对目录

C# 设计器运行的代码中的相对目录,c#,wpf,visual-studio-2010,C#,Wpf,Visual Studio 2010,我正在用WPF编写一个程序,我遇到的问题是,在VS设计器中运行的代码加载了一个SQLite数据库。如果文件不存在,代码将尝试创建一个空白数据库 而所有这些代码在运行时都能完美地工作。在设计器中,数据库文件的相对路径不同,“c:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE”。由于程序没有写入此文件夹的权限,因此会引发异常,阻止我使用设计器 如果我将程序更改为使用数据库的绝对路径,则一切正常。设计器甚至读取数据库并使用其中的

我正在用WPF编写一个程序,我遇到的问题是,在VS设计器中运行的代码加载了一个SQLite数据库。如果文件不存在,代码将尝试创建一个空白数据库

而所有这些代码在运行时都能完美地工作。在设计器中,数据库文件的相对路径不同,“c:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE”。由于程序没有写入此文件夹的权限,因此会引发异常,阻止我使用设计器

如果我将程序更改为使用数据库的绝对路径,则一切正常。设计器甚至读取数据库并使用其中的数据初始化接口


是否仍然可以更改VisualStudio设计器用于计算代码的工作目录,以便我可以继续使用相对路径。或者,通过某种方式获取exe的位置,而不是工作目录。我尝试过的所有操作都会返回VS的IDE文件夹。

是项目文件夹下的db文件,并且包含在项目中吗?听起来好像有一个文件引用在项目“cone”之外。如果您直接将文件添加到项目中,或使用链接引用该文件,然后根据该副本或链接进行路径选择,则此问题将消失。

是的,它将添加到项目中并设置为复制到输出目录。它位于Data\Data.s3db中。构建解决方案时,文件和文件夹会复制到输出目录。在我的连接字符串中,数据源=Data\\Data.s3db。我已经注释掉了在不存在的情况下试图创建它的代码,现在我无法打开数据库文件。@Android-所以您的引用路径总是“Data\Data.s3db”?