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'文件夹中的文件?

ASPX -什么是路径到我的文件夹在网站上

尝试将密钥更改为:

<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也诀窍…