我正在努力寻找一种在web.configappSettings 中指定文件位置的方法,该方法避免使用硬编码路径,但允许非"网络感知"C#库查找文件.
C#库使用标准File.Open,File.Exists方法等对数据文件进行操作,该数据文件存储在我的Web应用程序(ASP.NET MVC)树中,例如:
\content\data\MyDataFile.txt
Run Code Online (Sandbox Code Playgroud)
要求:
<appSettings>
this--> <add key="MyFileLocation" value="~\content\data\MyDataFile.txt" />
not --> <add key="MyFileLocation" value="c:\inetpub\wwwroot\foo\content\data\MyDataFile.txt" />
</appSettings>
关于如何干净利落地做任何建议?谢谢!
Joe*_*Joe 30
您可以使用Path.Combine组合AppDomain.CurrentDomain.BaseDirectory和您的相对路径.
这将为您提供相对于ASP.NET应用程序中的ASP.NET根目录(〜/)的路径,或相对于WinForms或控制台应用程序中包含可执行文件的目录的路径.