2014-07-25 45 views
2

我有兩個項目的解決方案:一個asp.net mvc網站和一個類庫。在網站中,我提到了類庫。在asp.net mvc網站獲取本地文件路徑

在類庫的方法中,我需要在我的網站項目(配置文件)中獲取文件的路徑。

我想:

HostingEnvironment.ApplicationPhysicalPath 

這工作,但我不能單元測試......你有單元測試一個簡單的解決方案或其他方式來獲得我需要的路徑?

我也試過:

System.Reflection.Assembly.GetAssembly(typeof(MyClass)).Location; 

,但我得到:

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \臨時ASP.NET文件\ .... 。

我能用什麼?

+2

這聽起來像你的類庫取決於物理路徑的一些配置。通常情況下,您可以通過接口將此配置數據注入到類庫中所需的任何類型中。在配置容器時,可以在MVC Web應用程序中提供實現。聽起來像是需要發生的架構思考 – Charleh

+0

感謝您的答案。對不起,我其實我設法不使用它的類庫...所以我有一個類在我的網站,我需要得到的網站的物理路徑。我該怎麼做 ? (這是一個「LoggingService」類,我需要「log4net.config」文件的路徑) – Gab

+0

HttpContext.Current.Server.MapPath(「〜」)在這種情況下工作。 :) – Gab

回答

5

此代碼的伎倆:

HttpContext.Current.Server.MapPath("~") 
相關問題