我有 ac# 服务器应用程序 (WCF),我在该服务器上保存了一个文件,我想相对地访问它,以便每台开发机器都可以使用它。
这是文件路径。
C:\Users\ben\Documents\Visual Studio 2010\Projects\ myfile.xml
我要从中访问文件的项目位于:
C:\Users\ben\Documents\Visual Studio 2010\Projects\ MyProject
访问 myfile.xml (相对)的最佳方式是什么?来自我的项目?
我有 ac# 服务器应用程序 (WCF),我在该服务器上保存了一个文件,我想相对地访问它,以便每台开发机器都可以使用它。
这是文件路径。
C:\Users\ben\Documents\Visual Studio 2010\Projects\ myfile.xml
我要从中访问文件的项目位于:
C:\Users\ben\Documents\Visual Studio 2010\Projects\ MyProject
访问 myfile.xml (相对)的最佳方式是什么?来自我的项目?
好吧,当您运行项目时,您的当前目录将类似于:
C:\Users\ben\Documents\Visual Studio 2010\Projects\MyProject\MyProject\bin\Debug\
因此,您可能会想做其他事情。
将文件包含在项目中,然后转到文件的文件属性。选择Copy Always设置Copy to Output Directory。然后在编译/构建时将该文件复制到与 EXE 相同的目录中。这样您就可以简单地通过文件名访问该文件。
根据您的问题,可以理解的是您想要访问您的项目位置,而不需要可执行文件和文件夹。为此,请尝试以下代码:
string AppPath = System.Environment.CommandLine;
int pos = AppPath.IndexOf("bin");
AppPath = AppPath.Remove(pos);
AppPath += "myfile.xml";