2

我正在阅读Wrox出版的《专业asp.net 2.0 》一书,在asp.net编译的概念下,第3章,第3页。98,他们写了以下几行:

编译过程不会编译所有类型的 Web 文件。事实上,它只编译特定于 ASP.NET 的文件类型,并在编译过程中排除以下类型的文件:
- HTML 文件
- XML 文件
- XSD 文件
- web.config 文件
- 文本文件

那么我的问题是,上面几行的含义是什么?

  • 真的不需要编译web.config文件吗?
  • 如果需要哪个编译器编译这些文件(指的是c#编译器编译的.cs文件,aspnet_compiler编译的.aspx文件这样的)
  • 如果它没有编译,那么当我们在web.config文件中犯一些错误时它是如何产生编译错误的?
4

3 回答 3

9

web.config 是一个配置文件,不能编译,它只是在部署时复制到网站。

该文件在 Web 应用程序启动时被解析。

于 2012-11-04T08:55:15.720 回答
1

“•真的不需要编译web.config文件吗?”

Web.config 在一定程度上取决于托管服务器的设置和配置方式,例如 wcf 设置、安全性、框架、调试等。

因此,编译器可以“编译”web.config 的唯一方法是针对服务器进行编译。

这意味着您将永远无法在无需重新编译的情况下对网站进行基本更改。

只是为了补充一点。web.configs 虽然没有在客户端编译,但是!当检测到更改时,服务器端会在运行时检查它们。因此,如果您犯了错误,您确实会得到一些反馈,尽管到那时您已经发表并且有点晚了。

于 2012-11-04T10:15:39.997 回答
1

以上所有文件都不是可编译文件。它们是运行时可能需要的文件,因此应该与您的项目输出一起部署。

特别是,web.config 是包含网站配置的文件,它由 ASP.NET 运行时加载和解释(可能来自您自己的编译文件)

HTML 文件用于表示您网站的内容,XML 文件可以用作某种信息的数据存储,并且可以嵌入到您的编译文件中或您的可执行文件需要。TXT 文件,嗯,它们是简单的、人类可读的文件。

于 2012-11-04T08:56:37.803 回答