C# 我的应用程序路径在哪里?
我在visual studio项目中添加了一个文件夹“myFolder”,如何从当前位置执行和读取该文件C# 我的应用程序路径在哪里?,c#,class,path,console,console-application,C#,Class,Path,Console,Console Application,我在visual studio项目中添加了一个文件夹“myFolder”,如何从当前位置执行和读取该文件 .\您可以使用System.AppDomain.CurrentDomain.BaseDirectory获取包含二进制文件的目录。从那里你可以导航到你的子目录 确保在属性窗口中为添加到项目的文件夹中的文件选择“复制到输出目录”,这将确保在编译应用程序时将文件复制到bin目录。使用解决方案资源管理器创建的文件夹不会复制到输出目录(可执行文件所在的目录)默认情况下,除非已添加到该目录中的项目的“复
.\您可以使用
System.AppDomain.CurrentDomain.BaseDirectory
获取包含二进制文件的目录。从那里你可以导航到你的子目录
确保在属性窗口中为添加到项目的文件夹中的文件选择“复制到输出目录”,这将确保在编译应用程序时将文件复制到bin目录。使用解决方案资源管理器创建的文件夹不会复制到输出目录(可执行文件所在的目录)默认情况下,除非已添加到该目录中的项目的“复制到输出目录”值设置为“不复制”以外的值,否则如果您所做的只是使用解决方案资源管理器创建一个空目录,则该目录可能不存在于输出路径中 这段代码将在应用程序的输出路径上创建一个目录
var directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourDirectoryName");
if (!Directory.Exists(directoryPath))
Directory.CreateDirectory(directoryPath);
请注意,此代码中不包括sicnificant异常处理,I/O是可以执行的更容易发生异常的活动之一,因此请确保存在足够的错误处理
如果希望在构建过程中创建目录,可以将mkdir
作为外部构建命令运行,或者使用
FileStream fs = File.OpenRead(@".\myFolder\output.pdf");
var directoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "YourDirectoryName");
if (!Directory.Exists(directoryPath))
Directory.CreateDirectory(directoryPath);