【问题标题】:Automatic reference of class files inside App_Code vs reference of class files outside App_CodeApp_Code 内的类文件的自动引用与 App_Code 外的类文件的引用
【发布时间】:2009-08-27 05:18:28
【问题描述】:

所有问题均参考网站项目。


1) 为什么 App_Code 文件夹中的文件类会被应用程序的其余部分自动引用,而在 App_Code 之外创建的文件类则不会?


2) 我对编译不太了解,但是为什么我们需要显式引用在 App_Code 之外创建的类文件?因为这些文件会被编译成程序员创建和命名的dll,因此VS不知道这些dll的名字是什么,所以不能自动引用这些dll?

3) 默认情况下,App_Code 之外的文件不会自动编译?但为什么不呢?


感谢

【问题讨论】:

    标签: .net asp.net assemblies compilation


    【解决方案1】:

    在我看来,您希望网站“项目”中的 Web 应用程序行为。

    在网站中,每个 ASPX/ASHX 文件(在 App_Code 之外)都被视为内容。在任何时候,您可能希望简单地将一些文件发布到网站。因此,一次性将它们全部编译到一个程序集中是不可取的。

    对于 Web 应用程序,您通常不会只发布几个文件,您需要完成应用程序的一个阶段,将它们全部编译然后发布。

    您似乎表明您在 App_Code 之外声明了“类”?如果不在他们自己的 dll 项目中,他们会在哪里?如果在 dll 项目中,则需要在网站属性中创建项目引用。

    【讨论】:

    • 你需要创建一个对 dll 的引用,因为 VS 不知道你会给包含这个类的 dll 起什么名字或者...?
    • 我可以问另一个问题 - 如果我(在代码后面)创建另一个公共类(除了将从哪个页面派生的那个)并且如果我将 ObjectDataSource 的 TypeName 属性设置为这个类,ODS 为一些原因找不到它
    • 也许你应该在你的问题中加入一个简单的例子来说明你的意思。
    【解决方案2】:

    App_Code 文件夹主要用于网站项目,而对于 Web 应用程序项目,您通常会引用库类。 App_Code 应该适用于 WAP 模型,但我发现它经常不能很好地发挥作用。

    您可以在此处阅读更多相关信息(查看参考链接): http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多