巧用VS2005解决VS2005网站发布不便问题

解决|问题

  一、问题引入

  在VS2005网站开发过程中,网站发布问题一直是个问题.VS2005创建的网站有几个默认的目录:App_Code,App_Data,App_Themes........

  如果是但cs/vb文件,比如UploadFile.cs类UploadFile,这个类文件没有可视的aspx文件,那么这个文件就必须放到App_Code目录下,否则在VS2005网站中,该类是不可访问的.那么放就放进去吧,但是编译的时候(我的VS2005是Team版的,生成没有反应,感觉象是检查了一遍代码,只能使用发布网站来预编译.不知道其他版本怎么样.)问题来了.选择发布网站后,它会让你选择以什么方式发布,一般选默认就可以了.那样生成的dll数量还少点.发布后,在bin目录一般会有App_Code.compiled,App_Code.dll,App_Web_(随机字符).dll,引用的dll等文件.问题就出在这了,如果要做个免虚拟的程序,岂不是可能bin目录会需要放两个App_Code.dll?会不起冲突么?还有,如果程序更改一次需要重新发布,那就完了.看看VS2005干的好事吧.inherits="MyCodeGif, App_Web_vf3ukhnv"本来好好的,一个MyCodeGif.aspx文件,一个MyCodeGif.aspx.cs文件,现在MyCodeGif.aspx文件继承自MyCodeGif, App_Web_vf3ukhnv,可以看出MyCodeGif是MyCodeGif.aspx.cs定义的类,App_Web_vf3ukhnv是bin文件夹中的一个dll文件名.你再尝试发布一次的话,更头疼的问题来了,怎么MyCodeGif.aspx页面又继承自MyCodeGif, App_Web_qwdwqd了?编译后的程序集名字都不一样了!

  二、ASP.Net中页面与类的关系

  ASP.Net 中,页面是可以继承自类的,可以多重继承。比如MyCodeGif.aspx页面文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="MyCodeGif" %>MyCodeGif.aspx.cs中是这样的
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FreeCodeNum;
public partial class MyCodeGif : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
                  //.....逻辑
    }
}

  可见MyCodeGif.aspx页面继承自类MyCodeGif 也可以这样继承,MyCodeGif.aspx页面文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="MyCodeGif" %>

  MyCodeGif.aspx.cs中是这样的

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FreeCodeNum;
public partial class MyCodeGif : PageBase
{
    protected void Page_Load(object sender, EventArgs e)
    {
                  //.....逻辑
    }
}

PageBase.cs这样

using System;
using System.Web;
using System.Collections;
/**//// <summary>
/// PageBase 的摘要说明
/// </summary>
public class PageBase : System.Web.UI.Page
{
    public PageBase()
    {
        }
    }

  如过象我MyCodeGif.aspx页面文件,我甚至可以

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="PageBase" %>也就是页面直接继承自PageBase类。

  三、解决方案

  在VS2005中也是可以自定义程序集名称的——那就是在创建项目的时候,而不是网站的时候。也就是说可以在你创建的网站已经写好了,你可以重新创建个项目,然后把网站的代码拿来重新编译。便宜完后可能需要更改aspx文件的继承,可能也不必更改,看你怎么便宜了,因为aspx文件的继承只和类名(有命名空间时,也要指定命名空间)有关。MyCodeGif.aspx页面文件完全可以改成

<%@ Page Language="C#" AutoEventWireup="true"  Inherits="PageBase" %>

  把里面的CodeFile="MyCodeGif.aspx.cs"去掉。

  这样就能模仿VS2003的方式发布网站了。过程可能复杂点,但是对于后期维护我感觉还是挺有用的,毕竟习惯了VS2003.而且可以和2003一样做免虚拟的程序了。

  全文完。希望能对大家有用。作者:谢平,夕阳轨迹

时间: 2024-08-29 05:32:37

巧用VS2005解决VS2005网站发布不便问题的相关文章

用vs2005做好的网站如何发布到测试空间上?

问题描述 我用vs2005完成了一个信息发布系统的开发,采用的是iis站点系统开发的现有一个支持asp.net+sql的空间老板要我把网站发布上去测试一下请问怎么发布?从来没弄过,哪位大哥能指点下?最好能详细点急啊,万分感谢 解决方案 解决方案二:配置一下IIS就行了吧解决方案三:在菜单栏里点生成->发布网站解决方案四:生成-发布.然后在IIS里配置虚拟目录和应用程序解决方案五:不需要把网站上传到测试空间上去吗还有,数据库怎么附加上去啊解决方案六:没人回答一下吗?解决方案七:IIS欢迎访问htt

网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法_javascript技巧

网站发布到IIS后,发现网站使用的Bootstrap框架所引用的woff字体无法正常显示.于是跟踪http请求,发现woff字体请求出现GET .woff 404 (Not Found)的问题,但是项目中woff字体的文件并未丢失.后经排查,原来是服务器上IIS没有添加woff字体的MIME类型,导致发送HTTP请求时,IIS无法处理和识别此类型的文件. 解决方法1:在Web.config配置文件中添加woff字体的MIME类型 解放方法2:在IIS中添加woff字体的MIME类型 woff字体

关于asp.net网站发布的问题

问题描述 我是.net新手,刚用vs2005做了一个网站,我是把本机当作服务器的,也是以本机为开发环境制作的,我的系统环境是iis5.0然后就安装了一个vs2005,应该是自带的.net2.0框架我在iis里面把网站的目录设置为应用程序就可以正常运行,一切都OK,但是传到虚拟主机上就出错,我一开始传的是全部的源文件,就是没编译过的,把所有的aspx,aspx.cs文件都传上去了,我在app_Code目录下有一个文件是dboperate.cs文件,传上虚拟主机后报错找不到dboperate,但是在

以下五点解决你网站被降权的烦恼

现如今网站是越来越难做了,百度算法三天两头一更新,动不动在来个K站玩玩,可是苦了我们这些站长了.大家都知道这网站降权是件多么严重的事情,相信每一位站长都经历过这样的事情,说到降权严重的网站收录直接降为零,轻点的排名三到五页之间,更严重的就是排名直接K的无踪影.但是作为SEOer的我们必须认识到问题的严重性,无论如何都要尽最大努力将降权所带来的损失降到最少,下面小编要和大家一起来分享降权后应该注意的问题,五个方面解决你网站被降权的烦恼,让网站死而复生. 一.站内优化问题 一般来说网站被降权了多半和

azure-Visual Studio 无法通过Azure门户中下载的发布配置文件进行网站发布

问题描述 Visual Studio 无法通过Azure门户中下载的发布配置文件进行网站发布 我想在VS2013中通过发布配置文件的方式将网站发布到azure上(使用的azure帐户是中国区1元免费订阅). 我从azure门户上将发布配置文件下载下来,然后通过导入发布文件的方式进行发布,但在导入文件时,老是报这样的错:文件xxx不含microsoft azure的有效发布设置.请问一下这个问题怎么解决呢? 解决方案 Hi VS默认是使用的国际版的azure,所以默认在Visual Studio中

asp.net 网站发布后word转pdf没有权限

问题描述 asp.net 网站发布后word转pdf没有权限 网站需要把word转成pdf,我用一个SaveAsPDFandXPS.exe插件,源码跑起来没有问题.但是网站一发布,就会报错,查了下,是权限问题,解决方法是web.config identity impersonate="true" userName="" password="" 但是这个方法太危险,不知道有没有其他办法 解决方案 你看看服务器对应文件夹的权限,把文件夹权限搞成可以读

wordpress-Azure网站发布问题主要是SQL不正确求解

问题描述 Azure网站发布问题主要是SQL不正确求解 是否有人使用非国际版,发布网站带有数据库的成功的,类似wordpress模板的那种 解决方案 Hi在国际版建wordpress的过程和在中国版的基本一样,(这篇文章)详细的指导我们如何在azure中建立我们自己的wordpress,希望对你有帮助.如果你在发布你个人的网站中遇到了困难,欢迎你把困难点描述出来,azure的网站要能连接到数据库,你需要核对连接字符串,你还需要配置数据库使得它能被Azure 网站访问到.Best Regards.

fckeditor .net开发,网站发布后点击上传图片后卡了

问题描述 fckeditor .net开发,网站发布后点击上传图片后卡了 小弟正在做一个网站的开发,使用的是fckeditor编辑器,在上传图片时无法正常使用,会卡在那里,不仅仅是图片,上传flash,文件的时候那个对话框都会卡在那里,点击cancel和X号都无法关闭,我找了很多办法,都没解决,以下是问题的图片和我尝试过的方法,求大神指导,不胜感激. 以上是点击添加图片和DIV标签的时候的对话框,无法完全显示,而且关闭不了.我已经按照网络上的说法进行了一些改正,都是以失败告终 1 将/filem

MVC4 网站发布(整理+部分问题收集和解决方案)_win服务器

这部分是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因. 如有冒犯请联系本人,或删除,或标明出处. 因为好的文章,以前只想收藏,但连接有时候会失效,所以现在碰到好的直接转到自己这里.  网站发布步骤: 1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自己定义的配置文件名: 3.点击下一步:在发布方法中选&qu