【问题标题】:ASP.NET Build - Bin Folder vs CodeBehind FileASP.NET 构建 - Bin 文件夹与 CodeBehind 文件
【发布时间】:2012-11-12 13:54:42
【问题描述】:

假设有一个 asp.net 4.0 Web 应用程序,其中有一个 default.aspx 和 default.aspx.cs 文件。在我构建项目之后,一个以 bin 文件夹中创建的项目命名的 dll。那么dll包含什么?文件编译后的所有代码版本?

如果 aspx 文件仍然引用其 CodeBehind 文件,如下所示,那么用于此 aspx 文件的 dll 或仍然隐藏的代码是否有效运行项目?

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

【问题讨论】:

  • 请记住,这取决于您的项目类型和构建选项、网站和 Web 应用程序的行为方式不同

标签: c# asp.net .net


【解决方案1】:

Web 应用程序 中,所有 C# 代码都包含在 bin 目录中的 DLL 中。有几个例外,例如,您依赖的 DLL 存在于 GAC 中。使用 Web 应用程序(您的问题说这就是您正在使用的),您不需要在文件后面部署 *.cs 代码。

网站是不同的。动态检测并重新编译更改。创建网站类型项目时,您需要包含 C# 文件代码隐藏文件。

ASP.NET Web Site or ASP.NET Web Application?

【讨论】:

    【解决方案2】:

    DLL 是一个库,其中包含可供多个程序同时使用的代码和数据:

    What is a DLL?

    Code-behind 是指包含在单独的类文件中的 ASP.NET 页面的代码。这允许您的 HTML 与您的演示逻辑完全分离:

    ASP.NET Code-Behind Model Overview

    【讨论】:

      【解决方案3】:

      代码被编译成您的 Web 项目生成的程序集。作为项目选项的一部分,您可以更改其名称和默认命名空间。

      据我了解,只有在项目被标记为可更新时才使用 ASPX 文件,否则它只是一个占位符文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-26
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多