时
web项目可以编译成一个dll
然后发布该dll和aspx
ascx页面即可
到了
里
web项目的编译则稍有不同
首先vs里有两种类型的web程序web site和web project
Web project和原来vs里差不多可以编译成一个dll但是需要安装一个sp之后才会有这种类型出现新建一个project选择web
这种project产生之后会出现一个csproj的项目文件
Vs中看到的项目目录是xx项目这种项目可以转化成下边的那一种
而如果安装了vs之后默认的web类型就是web site这种类型的只是一个文件夹而已里面没有csproj文件vs中看到的是一个目录d:\xx\xxx
这种项目的编译和发布就和vs时有些不同了它可以使用预编译
预编译可以把项目编译成一些dll这些dll的名字随机诸如App_Web_psgfks之类的一对文件编译之后还是再bin目录下在这种情况下如何编译成一个dll似乎有一个aspnet_merger的dll可以用
而aspx页面的编译结果也有多种
如果选择不可以更新那么编译之后的aspx页面就成了一个markup的页面里面内容全空只留下这样一个字符串 This is a marker file generated by the precompilation tool and should not be deleted!于此同时bin里产生一个对应的complied文件里面写明类的映射
如果选择可以更新那边编译之后的aspx页面保留内容但是该页面的第一列则会被改变成这样inherits=xxxxxx App_Web_psgfks这表明该后台类在哪一个dll中
而如果是在vs之外则可以直接调用aspnet_complierexe完成上述预编译功能该exe位于C:\Windows\MicrosoftNET\Framework\vxxxxx\aspnet_compilerexe
举例
C:\Windows\MicrosoftNET\Framework\v>aspnet_compiler v 项目名称 –p 项目目录 目标目录 –u
其中u就是表示是否可以aspx页面更新的选项
具体使用参数可以在cmd之后输入aspnet_compile ?