【问题标题】:Use "debug" and "release" folder with ASP.NET web application在 ASP.NET Web 应用程序中使用“debug”和“release”文件夹
【发布时间】:2013-09-05 16:17:06
【问题描述】:

我有一个 ASP.NET 应用程序,我也想将它用作类库。 (这是一个带有 .svc 文件的 Castle Windsor 应用程序,它使用 Windsor 的 WCF 工具,但对于任何其他带有 ASPX 页面和其他一些公共类的 Web 应用程序来说,情况都是一样的。)

我实际上想使用“类库”或“WCF 库”项目模板,因为这允许我选择单独的调试和发布文件夹等。 但这不会让我添加 Global.asax 文件。

所以我切换到“Web 应用程序”模板,这没问题。 但是,如果我配置单独的调试和发布文件夹,Web 应用程序将无法运行。

看起来 Web 应用程序要求程序集直接位于“bin”目录中,而不是“bin\debug”中。

有没有办法同时实现这两者,即在 Visual Studio 中单独的构建文件夹和调试支持?

我不介意在 IIS 中设置本地 Web 应用程序,因此它不必是集成 Web 服务器。

【问题讨论】:

  • 我想这应该很有用:stackoverflow.com/q/9393736/1236044
  • 谢谢。这正是我想要做的。但这看起来不可能?
  • 我对此进行了更多思考。我会将 ASP.NET 文件移动到另一个 Web 应用程序项目(代码尽可能少,只有那些真正是 Web 特定的部分)并将“真实”代码保存在单独的类中 -图书馆项目。问题解决了。

标签: asp.net .net visual-studio visual-studio-2012 visual-studio-debugging


【解决方案1】:

正如您所发现的,您似乎不能这样做,ASP.NET 网站被硬编码为从 \bin 目录运行。您可以更改项目属性中的输出文件夹并重定向程序集绑定,但最终还是会丢失 DLL。

查看加载失败的堆栈跟踪,运行时仅查看: $(ProjectDir)\bin\assembly.dll 和 $(ProjectDir)\bin\assembly\assembly.dll。

它对\bin\Debug 或\bin\Release 文件夹没有兴趣,它们将被忽略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 2011-03-26
    • 2011-01-04
    相关资源
    最近更新 更多