c# - 需要绝对路径?

标签 c# path

通常当我在C#中构建一个可以消化命令行参数的应用程序时,如果这些参数是文件路径字符串,我可以选择使用相对路径以及绝对路径来引用我计算机上的特定文件并使用它在程序中。

在我的上一个项目中,如果我在命令提示符下为其提供相对路径,我的应用程序将无法运行。但在 VS 2010 的 Debug模式下,它会消化相对路径。在命令提示符下,它需要一个绝对路径才能工作。

最佳答案

您需要设置工作目录。请参阅:Directory.SetCurrentDirectory Method

示例:

System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);

在调试构建中,当前目录默认设置为 debug\bin。

指定被调试程序的工作目录。在 Visual C# 中,工作目录是应用程序默认从\bin\debug 启动的目录。

http://msdn.microsoft.com/en-us/library/2kf0yb05.aspx

您还可以使用 Assembly.GetEntryAssembly()Assembly.GetExecutingAssembly() 检索程序集的路径,然后使用 Location 属性或 CodeBase 属性。

关于c# - 需要绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903358/

相关文章:

dll - VB6:获取DLL的当前路径

c# - 从未完成的任务会怎样?他们是否妥善处置?

Docker容器: pip is not found even though I have set the PATH during building

javascript - 文本未转换为正确的 svg 代码 - Opentype Javascript

Python相对路径问题

macos - 如何查找 Mac 文档路径(与语言无关)

c# - 在 C# 中,我可以让自动属性在属性的帮助下执行一些额外的工作吗?

c# - 字节到二进制字符串 C# - 显示所有 8 位数字

c# - 使用字符数组列表执行多个字符串连接是否更快?

c# - 无法将 HttpPostedFileBase 保存到 session 变量并使用两次