VS网站开发的发布部署的不同情况说明

Posted slowx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS网站开发的发布部署的不同情况说明相关的知识,希望对你有一定的参考价值。

VS网站开发有两种模式:

1、网站模式
2、应用模式
其中,网站模式的发布,要考虑勾选“使用固定命名和单页程序集”
 
如下图
 
网站模式:
 
 
应用模式:
 
 
 
两者区别:
1、是否编译:
(1)网页内容变更都不需要编译
(2)网站模式的cs代码变更,不需要编译,刷新即可看到效果
(3)应用网站模式的cs代码变更,需要编译系统,才能看到效果
(个人感觉,网站模式内容修改后刷新网页即可看到效果,开发效率高)
 
2、页面文件:
(1)网站模式:有两个文件:aspx和aspx.cs
(2)应用网站:有三个文件:aspx、aspx.cs和.aspx.designer.cs
 
3、网站发布:
(1)网站模式:2种
A.aspx和aspx.cs都发布上去运行,直接生效模式
B.用vs打包发布模式
 
(2)应用网站:1种方式
编译通过后,cs成为一个统一的dll文件,发布aspx等页面文件和dll上去,cs文件不需要发布。
 
 
4、网站模式的网站发布的特别说明:
如果选择cs文件都发布上去的模式,就无特别说明
如果是vs打包发布模式,注意一个选项:
 
 
 
如上图
如果不勾选“使用固定命名和单页程序集”
发布出来的dll会随机命名,页面的Page inherits 会更新dll的随机名
如下源码:
<%@ page language="C#" autoeventwireup="true" inherits="ErrorPage_UrlError, App_Web_iixanlav" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>403页面</title>
<style type="text/css">
.btnBack{top: 476px;  position: absolute; text-align:center; width:100%;}
</style>

</head>
<body style=" text-align:center; margin:0px;">
<img id="error_img" src="../Images/error/405.png" />
<form id="form1" runat="server">
<div class="btnBack">
<input id="Button1" type="button" style="width:130px; height:50px;background:url(../Images/error/error_back.png) no-repeat; border:none; color:#f00; cursor:pointer;" onclick="javascript:window.location=‘../Login.aspx‘;" />
</div>
   
    <div>
       <asp:Literal ID="ltMessage" runat="server"></asp:Literal>
    </div>
</form>
</body>
</html>

 

   
 
上面的inherits="ErrorPage_UrlError, App_Web_iixanlav"
中的App_Web_iixanlav会根据编译出来的dll不同而不同。
(注:这样发布,bin目录不清空的话,会在bin目录下积累历史的不同版本的dll文件,bin会变得臃肿)
 
如果勾选“使用固定命名和单页程序集”
发布的dll会固定命名,页面的Page inherits 也在两次发布的版本也一致
如下源码:
 
 
<%@ page language="C#" autoeventwireup="true" inherits="ErrorPage_UrlError, App_Web_urlerror.aspx.83c043b9" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>403页面</title>
<style type="text/css">
.btnBack{top: 476px;  position: absolute; text-align:center; width:100%;}
</style>

</head>
<body style=" text-align:center; margin:0px;">
<img id="error_img" src="../Images/error/405.png" />
<form id="form1" runat="server">
<div class="btnBack">
<input id="Button1" type="button" style="width:130px; height:50px;background:url(../Images/error/error_back.png) no-repeat; border:none; color:#f00; cursor:pointer;" onclick="javascript:window.location=‘../Login.aspx‘;" />
</div>
   
    <div>
       <asp:Literal ID="ltMessage" runat="server"></asp:Literal>
    </div>
</form>
</body>
</html>

 

原文链接:

http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=ea2fd50d-ca48-47d0-a09c-02d3736bc5dd

以上是关于VS网站开发的发布部署的不同情况说明的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 代码片段整理

[搬运] 将 Visual Studio 的代码片段导出到 VS Code

<code> vs <pre> vs <samp> 用于内联和块代码片段

实用VS Code 插件汇总

[转]vs2012 + web api + OData + EF + MYsql 开发及部署

vs 2010代码片段