我需要到ASP.NET MVC项目中的某个文件。在我的同一个项目中有两个文件夹,我们称它们为Main和Reference。Environment.CurrentDirectory渲染错误的路径
从我的Main中,我从我的Reference.csproj文件中调用一个类。从那里,我需要到达我的TargetFile,它也位于Reference文件夹中。
当我使用AppDomain.CurrentDomain.BaseDirectory
我得到C:\Project\Main
,当我想要C:\Project\Reference
。
所以我想我可以使用Environment.CurrentDirectory
,这将有望指向Reference文件夹而不是Main,但不幸的是它输出C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
。我也试过Directory.GetCurrentDirectory()
,但我得到了同样的结果。
我需要的是Environment.CurrentDirectory
给我C:\Project\Reference
。我认为它应该给我的参考文件夹,而不是主文件夹,因为它是从内部参考调用,但现在它甚至没有接近我的项目文件夹。
有没有一种方法可以做到这一点,而无需在别处定义我的目录?我真的很想做到这一点,而不需要将我的文件路径硬编码到我的项目中。
我的应用似乎并没有采用Server.MapPath。是否有需要添加到我的课程中的使用说明? – Charmander 2010-07-18 23:04:12
Server.MapPath在App_Start()中始终不可用() – 2012-05-31 09:29:56
是的,它不可用。在这些情况下,您可以使用['HostingEnvironment.MapPath'](http://msdn.microsoft.com/zh-cn/library/system.web.hosting.hostingenvironment.mappath.aspx)。 – 2012-05-31 09:34:21