【发布时间】:2013-01-09 22:20:55
【问题描述】:
我有一个包含两个项目的解决方案。一个项目只是做所有数据的事情,另一个是启动项目,做所有的网络事情。
现在我想通过首先获取项目根目录来从 TaskManagerHelpers 类中获取 TasksDataBase.xml。但我得到的只是 TaskManager.Web 根目录。 (我从 TaskManager.Web 中的控制器调用 TaskManagerHelpers.cs 中的方法)
当我在同一个项目的班级时,如何获取TaskManager.Data根目录?
我已经尝试过这些方法和类似的方法。
- HttpContext.Current.Request.PhysicalApplicationPath;
- System.IO.Path.GetFullPath();
- AppDomain.CurrentDomain.BaseDirectory;
提前致谢!
【问题讨论】:
-
您认为其他解决方案的内容文件在编译时存储在哪里?
-
很抱歉,我还不太擅长编程。
-
好的,开发过程中存在的解决方案结构在您编译应用程序后就不存在了。整个数据层变成了一个通常驻留在应用程序文件夹中的 dll 文件。将内容文件放在您想要的位置是您的工作。可以得到数据层组件的路径,但是编译完dll后就没有xml文档的概念了(假设xml文件是内容文件)。
-
好的,所以如果我想将它用作可读/可写文件,最好放在 atart-up 项目目录中?
-
是的,一般来说,但这并不意味着您必须在解决方案中移动它。您可以将路径作为变量放在 app.config 或 web.config 中,以便在开发过程中也可以找到它。
标签: c# .net file asp.net-mvc-4 path