ASPX -什么是路径到我的文件夹在网站上
本文关键字:文件夹 网站 我的 什么 路径 ASPX | 更新日期: 2023-09-27 18:02:11
我有一个网站项目- ASPX, 4.0。其中有一个文件夹,比如
bin'Xslt'Template.xslt
我想在我的类库中加载这个文件。在网络上。配置是:
<configuration>
<appSettings>
<add key="Filepath" value=".'Xslt'Template.xslt" />
</appSettings>
</configuration>
但是,我的类库找不到它:
mTransform = new XslCompiledTransform();
mTransform.Load(ConfigurationManager.AppSettings["Filepath"]);
抛出:Could not find a part of the path 'C:'Xslt'Template.xslt'.
我知道这里有圈套,但我不记得正确的方法了……
如何正确引用aspx 'bin'文件夹中的文件?
尝试将密钥更改为:
<add key="Filepath" value="~/bin/Xslt/Template.xslt" />
并将代码改为:
mTransform.Load(HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["Filepath"]));
使用Server.Mappath("~'xslt'template.xslt");
尝试在web配置中给出完整的路径例如,如果你的文件在C:'VSPROJECTS'bin'Xslt'Template.xslt
然后在你的webconfig中写入
& lt;add key="Filepath" value="C:'VSPROJECTS'bin'Xslt'Template. "xslt "/>
我找到了方法(因为它是在一个程序集中,我不想增加对System.Web的依赖):
string codeBase = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
string filepathRelative = ConfigurationManager.AppSettings["Filepath"];
string fullFilepath = Path.Combine(codeBase, filepathRelative);
感谢编辑: System.AppDomain.CurrentDomain.BaseDirectory
也诀窍…