如何使用C#获取当前项目目录路径

Lea*_*ner 10 .net c#

好的,这是问题所在.我有两个项目,一个是C#Console,另一个是类库.我从控制台应用程序访问/调用类库方法.类库项目中有一个名为Files的文件夹.

我需要获取类库的文件夹的路径,但每当我使用时

System.IO.Directory.GetCurrentDirectory();
Run Code Online (Sandbox Code Playgroud)

Environment.CurrentDirectory; 
Run Code Online (Sandbox Code Playgroud)

它给了我控制台项目的路径,我用它来调用方法.

以上方法给我的路径就像

C:\\ConsolePro\\bin\\Debug
Run Code Online (Sandbox Code Playgroud)

但我需要类库项目的路径

C:\\ClassLibPro\\bin\\Debug
Run Code Online (Sandbox Code Playgroud)

请指教

RJ *_*han 9

编译并运行代码后,"项目路径"没有任何意义.您可以确定所有已编译程序集的文件位置.如果您的Console项目直接引用构建的"类库"DLL而不是通过项目引用,那么您只能按照自己的要求进行操作.

然后,您可以使用Reflection来获取装配路径;

string path = Assembly.GetAssembly(typeof (SomeClassInOtherProject)).Location;
Run Code Online (Sandbox Code Playgroud)


Lea*_*ner 4

我相信问题是:

由于控制台项目具有 DLL 文件引用,因此它使用 DLL 来调用任何方法。此时它返回类库项目的 DLL 位置,该位置位于控制台项目的 bin 目录中,并且不知道类库项目的物理位置。

所以本质上它返回相同的项目路径。为了解决这个问题,我必须将两个项目移到同一目录中。