随心所欲

做个幸福的人
posts - 152, comments - 1472, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

asp.net1.1时,web项目可以编译成一个dll,然后发布该dllaspxascx页面即可。到了asp.net2.0里,web项目的编译则稍有不同。

 

首先,vs2005里有两种类型的web程序:web siteweb project

 

Web project和原来vs2003里差不多,可以编译成一个dll,但是需要安装一个sp1之后才会有这种类型出现:新建一个project,选择web..

这种project产生之后会出现一个.csproj的项目文件;

Vs中看到的项目目录是xx项目。这种项目可以转化成下边的那一种。

 

而如果安装了vs2005之后默认的web类型就是web site,这种类型的只是一个文件夹而已,里面没有.csproj文件,vs中看到的是一个目录d:\xx\xxx

这种项目的编译和发布就和vs2003时有些不同了,它可以使用预编译。

 

预编译可以把项目编译成一些dll,这些dll的名字随机。诸如“App_Web_4psgfks”之类的一对文件,编译之后还是再bin目录下。在这种情况下如何编译成一个dll,似乎有一个aspnet_mergerdll可以用。

 

 

aspx页面的编译结果也有多种。

1 如果选择不可以更新,那么编译之后的aspx页面就成了一个markup的页面,里面内容全空,只留下这样一个字符串:This is a marker file generated by the precompilation tool, and should not be deleted!。于此同时bin里产生一个对应的complied文件,里面写明类的映射。

2 如果选择可以更新,那边编译之后的aspx页面保留内容,但是该页面的第一列则会被改变成这样:inherits="xx.xxxx, App_Web_4psgfks-"。这表明该后台类在哪一个dll中。

 

 

而如果是在vs2005之外,则可以直接调用aspnet_complier.exe完成上述预编译功能。该exe位于C:\Windows\Microsoft.NET\Framework\v2.xxxxx\aspnet_compiler.exe

 

举例:

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_compiler -v 项目名称 –p  项目目录 目标目录 –u

其中-u就是表示是否可以aspx页面更新的选项。

 

具体使用参数可以在cmd之后输入aspnet_compile -?

============================================

=================================================
这是代码,可以用来编译和整合dll的:
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe" -f -u -p "D:\MyProgram\WebSite\xxx" -v / "D:\MyProgram\Win\xxxx"
"C:\Program Files\MSBuild\Microsoft\WebDeployment\v8.0\aspnet_merge.exe" "D:\MyProgram\Win\xxxx" -o xxxx.dll 

======================
正常情况下,vs2005并没有aspnet_merge.exe,需要安装这个才可以:WebDeploymentSetup.msi。
vs2008下就已经有了。

Feedback

#1楼   回复  引用    

2008-05-20 16:50 by xxxx[未注册用户]
你把你的VS.net2005打SP1补丁看看
或者装一个VS.net2008看看

#2楼[楼主]   回复  引用  查看    

2008-05-20 17:32 by 随心所欲      
@xxxx
已经打了sp1的补丁。

不知道你看到的有什么样的区别?

#3楼   回复  引用    

2008-06-25 13:08 by 点击看我是谁[未注册用户]
我来看你了!博客不错吗!
去这儿看看!
http://jsjzhuanye.ycool.com/

#4楼   回复  引用    

2008-06-25 13:09 by 点击看我是谁[未注册用户]
我来看你了!博客不错吗!
去这儿看看!
http://jsjzhuanye.ycool.com/

#5楼   回复  引用  查看    

2008-10-26 09:46 by 果果’er      
不错。我今天也在看这方面的内容,用asp_compiler也可以编译WebApplication项目,不加u的情况下可以检查aspx页面中的代码(<%=var%>),这样编译期的错误检查又多了一步。



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1203417 sntWDvb9B18=




相关文章:

相关链接:
Google