随心所欲

做个幸福的人
posts - 147, comments - 1402, 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%>),这样编译期的错误检查又多了一步。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-25 19:03 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:

 
Google