1

我的解决方案中有两个项目,ProjectA 和 ProjectB。ProjectA 包含名为“Config”的文件夹,其中包含myfile.xml. 我想从 ProjectB 访问这个文件,它是一个WebAPI.

我尝试了以下代码:

string rootPath = System.Web.Hosting.HostingEnvironment.MapPath("~\\Config\\myfile.xml");

但它无法检索ProjectA,而是创建了以下路径:

D:\Projects\DGS.DGSAPI.UI\ProjectB\Config\AffiliateInformationCollection.xml

代替

D:\Projects\DGS.DGSAPI.UI\ProjectA\Config\AffiliateInformationCollection.xml

我究竟做错了什么?

4

1 回答 1

1

因为您正在运行的项目是 B,所以它的根目录是您的 ProjectB 文件夹: string rootPath = System.Web.Hosting.HostingEnvironment.MapPath("~"); 确实返回 ProjectB 的根文件夹而不是您的解决方案。

您可以: 让 myfile.xml 成为 projectA 的资源,以便它可以访问并包含在 dll 中。

将您的 ProjectA 指向 web.config 并在那里阅读。

用户虚拟文件夹。

如果你只需要这个文件,我会使用资源,如果你需要文件夹,我会使用 web.config 键。

于 2018-05-02T14:17:08.890 回答