如何从同一解决方案的另一个项目加载文件

时间:2018-05-02 14:04:05

标签: c# directory project mappath

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

我尝试了以下代码:

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

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

  

d:\项目\ DGS.DGSAPI.UI \项目B \配置\ AffiliateInformationCollection.xml

而不是

  

d:\项目\ DGS.DGSAPI.UI \项目A \配置\ AffiliateInformationCollection.xml

我做错了什么?

1 个答案:

答案 0 :(得分:0)

因为你的运行项目是B,它的根是你的ProjectB文件夹: string rootPath = System.Web.Hosting.HostingEnvironment.MapPath(“〜”); 确实返回ProjectB的根文件夹而不是你的解决方案。

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

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

用户一个虚拟文件夹。

如果您只需要此文件,我会使用资源,如果您需要该文件夹,则使用web.config密钥。