Linux 上的 .NET,~/文件夹错误?

标签 .net linux mono

我在 .NET 中写作

Directory.CreateDirectory(textBox4.Text);

textBox4.Text 是 ~/myfolder。我得到的是当前工作目录中名为 ~ 的文件夹,其中包含 myfolder。我如何让 CreateDirectory 在用户家中创建我的文件夹?

最佳答案

波浪号扩展通常由 shell ( http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01) 处理。

您可以执行类似 bash -c "echo ~/folder" 的操作并获取输出。我不熟悉执行此操作的 .NET API(甚至 C API),但我不得不想象它就在某处。

我收回这一点 - glob() C 运行时函数(在 Linux 上)将采用 GLOB_TILDE 标志来执行此扩展。

关于Linux 上的 .NET,~/文件夹错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284826/

相关文章:

c# - 在同步调用的异步代码中捕获异常

.net - 从全局程序集缓存中删除 Oracle Data Provider for .NET

linux - 在 shell 变量中捕获命令输出不起作用

linux - 当我在远程服务器上运行脚本时,它会在本地计算机上启动

c# - 如何编写 Mono 守护程序

.net - 如果垃圾收集器在 Monotouch 4 中为 "more aggressive",这意味着什么?

c# - 调试 WPF 时遇到问题

c# - 在安装程序中删除临时文件夹有什么技巧?

ruby-on-rails - 尝试 Rails 服务器后终端出现错误

mono - DLLImport 在 Mono (linux) : icall_wrapper_mono_marshal_free 中崩溃