首页 > 解决方案 > 如何在 .NET Core 解决方案中访问另一个项目的根文件夹?

问题描述

我需要appsettings.json从我的解决方案中的另一个项目中读取设置文件 ( )。当我使用:

Directory.GetCurrentDirectory()

从当前项目中,我得到以下路径:

{projectRootFolder}\bin\Debug\netcoreapp3.0\

我的问题是:如何在同一解决方案中访问另一个项目中的完全相同的文件夹?还是有更好的方法从当前解决方案中的另一个项目访问设置文件?

标签: asp.net-coreasp.net-core-3.0

解决方案


如果我正确理解了这个问题,就会有两个误解:

  1. 访问另一个项目的输出目录几乎没有意义,因为该结构仅在编译时才有意义。一旦应用程序“发布”,您将不会在运行时拥有相同的结构。

  2. 返回当前Directory.GetCurrentDirectory()工作目录。被Visual Studio设置为项目输出目录只是一个巧合。它可以是完全不同的目录。

我不清楚你到底想要达到什么目的。我建议使用 .net core 提供的配置系统来访问配置并将其他 appsettings.json 添加为另一个配置提供程序

如果您确实需要打开设置文件,那么带有设置文件(A)的项目应该将该文件标记为“复制到输出目录”,并且打开文件的项目(B)应该引用项目A。所以设置文件也将被复制到项目 A 的输出中。


推荐阅读