1、 准备工作
安装必要组件
:在Visual Studio 2008及以上版本中,可以使用Web Deployment Projects组件来将传统的网站aspx.cs文件打包成一个dll,对于VS2008,可以下载并安装“Visual Studio® 2008 Web Deployment Projects RTW”。
配置项目 :安装完成后,重新打开VS开发工具,在“生成(B)”菜单下会多出一项“发布网站”,点击此选项后,可以选择添加Web Deployment Project…,设置好生成路径,你的解决方案里就多了一个项目。
2、 编译过程
选择目标位置 :在“发布网站”对话框中,确保目标位置不能与源文件的目录相同,或是作为源文件目录的子目录都不行。
编译设置 :选中对话框中的两个复选框,然后点击确定,整个web站点的.aspx.cs文件都会被编译成一个.dll文件,并放在Bin目录下面。
3、 注意事项
类名冲突 :在编译过程中,如果aspx.cs文件中有重复的类名,会导致编译失败,需要保持各个类名不同才能被成功编译。
首次访问速度 :在部署后,如果aspx文件没有被预编译成dll,那么用户第一次访问页面时,该页面文件aspx才会转化成cs,并编译成dll,这次访问速度不会很快,但从此以后,所有访问者将得到理想的访问速度。
4、 优化建议
预编译 :为了提高首次访问速度,可以在部署前将所有页面都访问一遍,通过递归项目所在的文件夹,把物理路径转化成web访问的http地址,并使用httpRequest访问一遍即可。
通过以上步骤和注意事项,你可以成功地将aspx网站编译成dll,从而提高网站的运行效率和安全性。
小伙伴们,上文介绍了“ aspx网站生成dll ”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
C语言,怎么生成dll文件?
到cmd下用vc的编译器编译fixupdemo.c
Visual Studio中Website和Web Application Project的区别
Visual Studio 2005/2008/2010中均有两种Web开发模型,分别是Website(网站)和Web Application Project(Web应用程序项目),许多初学者都不是很清楚这两者有什么区别。 今天我又看了一下微软官方MSDN上解释,在此重复一下。 一个website和web app一样出现在visual studio的solution中。 但是,website项目只是一组松散组合的文件,没有项目文件,没有特殊文件夹比如bin、App_Code等。 visual studio管理这个项目是以你所选择的文件夹作为项目的根目录。 solution文件只会记录这个根目录的路径,没有其他多余的配置信息。 项目发布时,所有的文件都被发布出去。 这样做的目的是项目发布简单,只需要把所有文件拷贝出去,IIS运行是进行即时编译,也可以预编译再发布。 Web Application Project是由工程文件组织网站的,有一些特殊的文件夹bin、App_code、资源文件、主题文件夹等。 如果用记事本打开工程文件,可以看到工程中的文件都在其中。 你可以在visual studio中指定每个文件编译时的模式,比如是代码文件(将进行编译)、网站内容文件(不编译,即使是文件)、资源文件等等。 另外可以指定每个文件发布时是否被排除。 项目编译时一般根据Namespace不同把可编译的文件都编译进相应的assembly 文件(dll文件).总得来说,website模式让用户自己组织每个文件在网站中的分布方式,App proj方式根据visual studio推荐的方式组织文件。 vs2005中的WebApplication和WebSite(转换)今天忽然注意到vs2005里多了一种web application,这是MS在发布VS2005之后追加的SP1扩展包里的一种新的Web模式,WebApplication编译时忽略了页面中代码的检查,不需要做分析,将这些任务交给了运行时。 WebSite的优势在于可以单个页面独自编译,这对大项目而言是一个相当大的优势,二者的直观区别在于,对每一个aspx页面文件,WebApplication在有对应cs文件的同时还拥有文件,baidu了一下。 WebApplication编程模型的优点:●网站编译速度快,使用了增量编译模式,仅仅只有文件被修改后,这部分才会被增量编译进去。 ●生成的程序集WebSite:生成随机的程序集名,需要通过插件WebDeployment才可以生成单一程序集WebApplication:可以指定网站项目生成单一程序集,因为是独立的程序集,所以和其他项目一样可以指定应用程序集的名字、版本、输出位置等信息●可以将网站拆分成多个项目以方便管理●可以从项目中和源代码管理中排除一个文件●支持VSTS的Team Build方便每日构建●更强大的代码检查功能,并且检查策略受源代码控制●可以对编译前后进行自己规定的处理●对App_GlobalResources 的Resource强类支持●直接升级使用VS2003构建的大型系统WebSite编程模型的优点:●动态编译该页面,马上可以看到效果,不用编译整个站点(主要优势)●同上,可以使错误的部分和使用的部分不相干扰●可以每个页面生成一个程序集●可以把一个目录当做一个Web应用来处理,直接复制文件就可以发布,不需要项目文件●可以把页面也编译到程序集中两种编程模型的互相转换:VS2005 SP1内置了转换程序,可以非常方便的从WebSite转换到WebApplication只需要复制文件,右键执行“转换为Web应用程序”即可。 总之,大网站比较适合用WebApplication项目,小网站比较适合用WebSite项目貌似web application是最初的设计吧,vs2003里就是这样的,只不过微软想抛弃这种用法,但是又没顶住压力又加了回来。 我还是觉得web application比较好,可以看到自动生成的代码。 ----------------------------------------------------------------------------把Visual Studio 2005的网站项目转化为Web应用程序项目在Visual Studio 2005中,新建菜单下分了“项目”和“站点”两大类,在Visual Studio 2003里没有区分,如果你要在VS2005创建一个网站应用,那么你只有网站模板,这种项目模型和VS2003的项目模型差别很大,比如2003里所有代码编译后放在一个Assembly里,2005里则分开动态编译,命名空间的处理也大不一样为保持和之前版本的兼容,微软为VS2005提供了一个VS 2005 Web Application Project插件,可以让你的VS2005也拥有2003一样的项目模型,在VS2005的Service Pack 1里已经把该插件直接集成到了VS2005,而且今后会一直成为VS的一部分。 如果你没有安装VS SP1,那么你必须安装插件。 由于和SharePoint集成的原因,必须把目前做的Web网站程序做个转换,今天花了点时间做了,以下是转换步骤(VS已经装好插件):1、创建一个Web应用程序,应用程序名为TestWebApp,新建-〉项目-〉 Web 应用程序2、删除和文件3、把要转换的网站的文件全部复制到TestWebApp下4、选择TestWebApp,右键,选择“转换为 Web应用程序”,VS2005会自动转换,帮你生成*文件,添加CodeBehind属性我的转换结果: App_Code下的dataset文件全部给移到了根目录下 aspx的文件没有生成,经查发现可能是因为我使用了嵌套的母板页masterpage,相应的母板页的文件也没有生成,进而导致调用VS2005的Designer API时失效,我把母板页改了,把没生成的所有文件放在另外一个web应用程序项目重新转换了一遍,再放回来5、把aspx文件里的codefile属性都删除6、添加所有文件的命名空间namespace,你可以选择一个class,右键-〉外侧代码来添加命名空间,但不见得快多少7、把aspx文件里的inherits属性的值的类加上命名空间,和上一步对应8、然后就是有些代码里需要添加命名空间,编译的时候都会出来 VS2005中的WebSite和WebApplication有何区别Visual Studio 2005 sp1中新增了 Web Application 应用类型。 这样网站开发我们既可以选择 Web Application 应用类型,又可以选择 Web Site类型。 你该选择哪种WEB编程模型Option or TaskWeb Application ProjectsWeb Site Projects你有一个大型的Visual Studio 2003 Web应用需要迁移到VS2005。
web前台读不到后台的方法
首先确定上面的是aspx文件吗?codefile路径跟下面的文件的class类是一样的吗?把aspx文件顶部的<%@ Page Language=C# AutoEventWireup=true CodeFile= Inherits=_xxx %>这个贴出来看看另外文件一般是不需要namespace命名空间的,除非你想在多个不同的aspx中互相调用,才会使用。如果你非要加,那么aspx文件里也要做相应改动的,比如你这个aspx文件头部就要改成Inherits=
发表评论