【问题标题】:Current working directory is visual studio directory当前工作目录是visual studio目录
【发布时间】:2011-08-04 12:31:20
【问题描述】:

我正在构建一个引用其工作目录中的文件的类库。但是,它无法找到该文件,因为它一直在 C:\Program Files\Visual Studio 2010\Common7\IDE\ 中查找。解决方案不在该目录中,工作目录也没有设置为该目录。我在那个文件夹中也看不到任何与我的类库相关的东西!

在构建文件路径时,无论我是否使用Environment.CurrentDirectory,都会发生这种情况。

有人知道它为什么会这样吗?

【问题讨论】:

    标签: .net visual-studio working-directory


    【解决方案1】:

    从听起来你想在构建文件路径时使用Application.StartupPath 这样的东西;

    System.IO.Path.Combine(Application.StartupPath, "myfile.txt");
    

    如果您想将当前目录设置为正确的目录(尽管我个人建议使用Application.StartupPath 而不是相信当前目录是正确的)您可以这样做;

    System.IO.Directory.SetCurrentDirectory(Application.StartupPath);
    

    至于为什么,我曾经有过一些情况,例如打开文件打开对话框然后导航到另一个位置,然后该位置成为当前目录。

    【讨论】:

    • Application 在类库中可用吗?我的代码目前无法识别它!
    • 我只是进一步检查了我的代码,以便使用我导入的 System.Windows.Forms,您可能不希望这样做。以下链接有第二种建议的方法来使用反射 (csharp-examples.net/get-application-directory) 实现相同的结果。
    • 是的,我也做了同样的事情。我忘记了它在哪个名称空间下。但是:它没有用。看起来它是在错误的目录中启动的。据我所知,我还没有将启动或工作目录设置为那个。
    • 所以如果你Console.WriteLine()(或其他东西)来获取应用程序的启动路径,它会在`C:\Program Files\Visual Studio 2010\Common7\IDE`中显示它?
    • 正确,适用于 Environment.CurrentDirectory 和 Application.StartupPath
    猜你喜欢
    • 1970-01-01
    • 2021-11-01
    • 2016-03-22
    • 2015-01-17
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    相关资源
    最近更新 更多