繁体   English   中英

如何调试我的C#应用​​程序并模拟它从特定文件夹运行?

[英]How do I debug my C# app and simulate that its running from a specfic folder?

当真正需要从特定文件夹而不是从bin / debug运行时,如何调试我的C#应用​​程序? 例如,我的程序所做的第一件事就是根据它找到的可执行文件确定将呈现哪些工具集。 但是因为它从调试文件夹运行它找不到它们。 我可以在那里添加文件,但这看起来很傻。 一定有更好的方法。 此外,还有一大堆其他的大腿确实要求它从适当的文件夹运行,例如。 Z:\\测试。

我认为它可能是属性中“调试”选项卡下的“工作目录”设置,但似乎没有做任何事情。 我正在使用VS2010和C#btw ......

我希望我有意义。

谢谢

您可以为构建指定另一个输出文件夹。

尝试将Environment.CurrentDirectory设置为要模拟的目录。

Environment.CurrentDirectory = @"C:\SimulateThisDirectory\";

您可以使用

System.IO.Directory.SetCurrentDirectory("your-path");

从你的代码。

你需要区分两件事:

  • 进程开始的路径
  • 该进程的当前工作目录

第一个你不能轻易模拟。 它可能涉及创建符号链接或创建某种rootkit。

至于第二个,你的方法是很好,你可以通过检查在运行时的工作目录Directory.GetCurrentDirectory或使用设置Directory.SetCurrentDirectory

请注意,如果要查找执行程序集的目录,您将获得启动进程的路径。

您可以从特定目录正常运行程序,然后只需附加调试器

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM