我认为这个问题对你们大多数人来说可能是微不足道的,但不知何故我找不到答案......所以,我在这个解决方案中有一个Visual Studio 2008解决方案foo和一个项目栏.在我的酒吧项目中,我有一个名为baz的目录,它看起来像这样:
foo dir
|
+-> bar dir
|
+-> baz dir
|
+-> asd file
Run Code Online (Sandbox Code Playgroud)
现在我想在bar-project中打开我的"asd文件",但需要"asd文件"的确切路径,我该如何找到它?我试过简单的"baz\asd",但它不起作用.
谢谢!
Ĵ
use*_*116 10
您想bar在C#应用程序中在运行时打开-project中的文件吗?有几种方法可以实现这一点,我会给你最简单的.
asd在解决方案资源管理器ContentCopy always(或Copy if newer)然后,您可以在C#中按如下方式引用该文件(假设您的程序不会将当前工作目录从可执行目录更改):
using (StreamReader reader = new StreamReader(@"baz\asd"))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
其他方式涉及使用嵌入式资源,这不是最简洁的解决方案.
如果您的意思是在运行时打开,则程序实际上在 bar\bin\debug (或 bar\bin\release)中运行,因此您需要考虑到这一点。
通常我会做类似的事情:
#if DEBUG
filename = @"..\..\baz\asd";
#else
filename = @"baz\asd";
#endif
Run Code Online (Sandbox Code Playgroud)