您的位置:首页 > 移动开发

发布网站后,会生成一个PrecompiledApp.config文件的作用

2009-02-26 17:09 351 查看
在用Microsoft Visual Studio 2005开发ASP.NET网站时,当你开发完后,发布网站时,会生成一个PrecompiledApp.config文件,请问这个文件有什么作用?可以删除吗?删除后影响该网站的正常运作吗?谢谢!

问题补充:该文件PrecompiledApp.config内容如下:

<precompiledApp version="2" updatable="true"/>
--------------------------------------------------------------------

不能删除.PrecompiledApp.config 文件用于跟踪应用程序的部署方式,以及 ASP.NET 是否需要在请求时编译任何文件。
删除之后一些应用程序级的东西将无法使用.

---------------------------------------------------------------------

ASP.NET2.0的编译功能。预编译有三种方式
一、允许更新UI预编译
也就是只编译cs的文件,像aspx的页面文件是不编译的。
二、不允许更新UI预编译
也就是编译的时候不止编译cs文件连aspx页面文件和主题文件都编译。当然web.config配置文件和图片了什么的是不编译的。
三、强命名预编译
这个不止编译源文件而且对编译后的文件进行强命名,这样他们不能随便替换你的dll文件。
完成这个模块时我首先考虑前两种,因为用第三种有点小题大做故作高深之意。我就在前两种中徘徊,于是我就一直反复的测试前两种方法编译后的文件在客户的开发中配合整体测试的便捷性。我想给客户最少最简单的文件,所以在做第二种方法的单独测试中,我删除了PrecompiledApp.config文件,然后让IIS目录指向编译后的文件,结果显示“这是预编译工具生成的标记文件,不应被删除!”于是我就把PrecompiledApp.config文件加上,结果才能正常显示。其实在发现是PrecompiledApp.config的影响的时候并不这么简单因为IIS有缓存,这个过程中你必须重启IIS。最后一查才知道该文件是一个标记,它通知ASP.NET运行库该应用程序已经被预编译,所以没有他用第二种方法程序是不能正常显示的。
据说PrecompiledApp.config文件还和Global.asax 文件中的事件有关联,但是这个我还没有测试,有机会测试一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: