ASP.NET(.NET Framework)网站如何禁用bin文件夹生成DLL文件
ASP.NET(.NET Framework)网站编译文件相关问题解答
1. 是否总会生成website.dll这类文件?
不是,这取决于项目类型:
- 若你创建的是ASP.NET Web Application项目(带
.csproj文件),编译或运行时会在bin目录生成对应项目的DLL、PDB和配置文件——这类项目属于预编译模式,会把整个项目代码编译为类库DLL。 - 若你用的是传统ASP.NET Web Site项目(基于文件夹,无
.csproj文件),默认采用动态编译,代码会被编译到系统临时目录(如C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files),不会在网站的bin目录生成项目级的website.dll这类文件,这就是你之前项目没看到这些文件的原因。
你当前项目设置为.NET Framework 4.7.2且输出类型为类库,说明这是Web Application项目,因此会生成这些文件。
2. 如何禁用生成这些文件?
要避免bin目录生成这类文件,最直接的方式是将项目转换为ASP.NET Web Site项目:
- 在Visual Studio中,选择「文件」>「新建」>「网站」>「ASP.NET Web Site」,再将现有代码文件迁移到这个新网站项目中。这类项目采用动态编译,不会在bin目录生成项目级DLL,修改
App_Code目录下的.cs文件时,只会重新编译对应代码片段,会话重置的概率会降低(但修改全局配置或核心类时仍可能触发重置)。 - 若不想迁移项目,也可调整Web Application项目的编译设置:在项目属性的「生成」选项卡中,将「输出路径」改为系统临时目录(和动态编译路径一致),但这种方式无法完全避免DLL生成,只是改变了输出位置,仍可能因DLL更新导致会话重置。
3. 旧版本.NET Framework是否不会生成这些文件?
和.NET Framework版本无关,核心还是项目类型。旧版本同样支持Web Application和Web Site两种项目类型,你之前的项目应该是Web Site类型,所以没看到bin目录的DLL文件。
内容的提问来源于stack exchange,提问作者Gazza T
相关产品推荐
相关产品推荐

