【问题标题】:ASP.NET - Dealing with dependencies when using the debuggerASP.NET - 使用调试器时处理依赖关系
【发布时间】:2011-04-08 18:29:26
【问题描述】:

当我们通过调试器运行 ASP.NET 时,它会在一个特殊的目录中运行,例如:

C:\Program Files\Common 文件\Microsoft Shared\DevServer\10.0

我不知道这个目录是否可配置。问题是,如果您有一个文件,例如Transfer.xsl,那么您将其属性“复制到输出目录”设置为“如果较新则复制”。这会将文件复制到 bin。

但是,我们并没有在垃圾箱内运行。所以如果我使用相对路径

StorageFolder\Transfer.xsl

变成……

C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\StorageFolder\Transfer.xsl

但是,即使您设置了上述属性,Visual Studio 也不会在此处复制文件。

过去我通过编写一个预构建例程将依赖项复制到这个“临时文件夹”来解决这个问题。它有效,但flippen很烂。

有没有更好的办法?

【问题讨论】:

  • 听起来您在文件操作中使用了错误的上下文;在 ASP.NET 中,您应该使用 this.Page.Request.PhysicalApplicationPath

标签: asp.net


【解决方案1】:

在 ASP.NET 应用程序中,您可以使用 App_Data 特殊文件夹来存储文件。当你想获得这个文件的完整路径时,你可以使用MapPath 方法:

string fullPath = Server.MapPath("~/App_Data/Transfer.xsl");

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 2015-06-06
    • 2013-05-23
    • 2021-12-14
    相关资源
    最近更新 更多