获取当前项目中文件的文件路径

时间:2012-05-22 14:48:50

标签: c#

如何在我的项目中以编程方式获取文件的文件路径?

 string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);

EMAIL_PATH我作为文本文件添加到我的项目中。这行代码抛出异常,因为默认情况下它出于某种原因查找system32文件夹。我需要将它设置为projects目录。

3 个答案:

答案 0 :(得分:27)

您可以使用Path.CombineAppDomain.CurrentDomain.BaseDirectory

string fileName = "SampleFile.txt";
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName);

在调试模式下以此路径返回测试项目(LocalConstants.EMAIL_PATH="Emails"时):

C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt

答案 1 :(得分:1)

您可以使用Environment.CurrentDirectory

请参阅:http://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx

进一步阅读。

编辑*

string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);

会做同样的事情,也许会更安全一些。

答案 2 :(得分:0)

这对我有用System.AppDomain.CurrentDomain.BaseDirectory.ToString()