95992828九五至尊2

WEB标准发生的关于难题,Net来开始展览持续化集成

三月 10th, 2019  |  882828九五至尊手机版

本文转自:http://www.cnblogs.com/jillzhang/archive/2008/03/03/1089099.html

XHTML 1.0 Transitional WEB标准爆发的难点

注:本文属jillzhang  原创,转发请注解出处
,欢迎访问http://jillzhang.cnblogs.com/来得到最新更新

早就风靡权且的HTML标记语言已经被官方认为过时了,将要接任它的是XHTML(http://www.w3.org/MarkUp/)。如果你的网站按照较严格的XHTML规则书写,那么这个网站将在不同的浏览器中保持一致的样式。并且你可以认为在未来浏览器的版本升级变化中仍然保证网站外观的一致性。同样你也会得到跨浏览器,跨设备以及跨平台的一致性支持。

  1. 本文的指标:

XHTML有如下多个根本对象:

本文化总同盟结了千古一年中利用CruiseControl.Net来对工作流程进行持续化集成的经验教训,详细地描述安装,配置,使用CruiseControl.Net的具体步骤,希望通过阅读本文,能掌握和左右运用CruiseControl.Net的着力选用技巧,用工具来创新工作流程和提升级工程师作成效。

  • 将文书档案的构造(使用XHTML标记语言)和表现(使用CSS)分开
  • 将HTML作为一种XML书写
  1. 怎样是持续化集成

对此第贰个对象,W3C删除了有的HTML的号子以及品质,例如<font>和bgcolor,因为这个标记或质量并不是文书档案结构中的一有个别,而只是用来描述文书档案应该什么被显示,由此应当定义在CSS文件中而不是HTML中。同样,有个别特定的符号内容并不一定要来得成特定的旗帜。比如,<h1>标记里内容显示的字号完全恐怕低于<p>里的内容,这个取决于CSS中的定义。当然,<h1>一般用来体现一篇文档的标题新闻,它的最首要程度相似也应当不止<p>中的内容,所以常常的浏览器都会以三个较大的字号来体现。

第2,我们先搞理解哪些是持续化集成?它对大家的常常工作有啥的支援?在过去几年中,敏捷已经是叁个分外看好的话题,它高效的做事形式和飞跃的要求应对能力,赢得了过多一点都不大极大软件厂商的爱护。那么高效除了部分时时谈论到编制程序思维和迭代的开销方式等,其实还有的依赖于好的句酌字斟工作流程的工具。持续化集成工具便是劳动于高效软件开发的3个多重。它根本将原来分散,冬日,冬辰的行事流程,通过工具软件有机的团伙起来,并且在公司的历程中,到场开发设计测试的各样部门的人士都能从中获得到自动化方面包车型客车特别降价。使得协会的工作功用大大升高。

对于第一个对象,XHTML将从严坚守XML的残忍语法。可以说XHTML是HTML依据XML语法重构的结果。换句话说,当你编写XHTML文档的时候,其实是在编写一份特化了的XML文书档案。XML文书档案有着比HTML严厉多了的语法,这个将在本文稍后有个别切磋。

  1. CruiseControl.Net是什么?

XHTML有四个本子:

地点讲解了何等是持续化集成,这CruiseControl.Net正是一款由ThoughtWorks公司提须要咱们的轻量级的持续化集成工具。它亦可将代码版本控制,单元测试,代码规范检查,项目标揭橥布署等工作步骤有机的团协会起来,并且选用其调度性可作自动化处理,它还有强大的日记记录功用,能将合并结果即时地报告给项目管理职员和类型开发人士。在下文中凡是用到CruiseControl.Net均用CC.Net来代表。上面是CC.Net的行事流程图

  • XHTML 1.0 Transitional
  • XHTML 1.0 Strict
  • XHTML 1.0 Frameset

图片 1 

XHTML 1.0 Transitional包括HTML4.01的有所标记以及质量,是一种不是那么严格的XHTML,指标是使现有的HTML开发者更易于的承受并选取XHTML。

注:本文属jillzhang  原创,转发请表明出处
,欢迎访问http://jillzhang.cnblogs.com/来获取最新更新

XHTML 1.0 Strict正是严峻版本的XHTML了,开发者必需求严刻坚守文书档案的构造与表现分开的平整,也正是说必要用CSS控制页面包车型大巴体现而不是运用<font>,bgcolor之类的标志或性质。

  1. 什么设置CC.Net

XHTML 1.0 Frameset用于把文书档案分割成多少个桢以体现分裂的剧情。(XHTML
1.0 Transitional和Strict 页面分歧意包括<frameset> 标记)。

CC.Net是一款开源软件,它的官方主页是: http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

此处不再赘述越多关于XHTML的介绍,假若感兴趣,能够应用谷歌或然MSN
Search找到很多有关材质大概详细介绍。也欢迎在本贴下留下您的评说与问题,让咱们一齐探索。接下来是有的挥毫XHTML的主干规则。

开拓它的主页,便能见到她的官方采取其它一款尤其优异的团伙合营平台:Confluence,用它构成jira
Bug管理系统,也能小幅度限度的滋长组织同盟能力,有关他们的介绍请访问:http://www.jira.com/ 。好了,再次回到来继续介绍CC.Net,当前法定已经宣布了新型的CruiseControl.NET-1.3.0.2918,在首页的release栏中,便得以找到下载最新版CC.Net的连接,它是一款开源软件,你也能够在http://www.sf.net中找到它的源码和安装文件。如果你就是想使用CC.Net直接下载exe文件即可。下载后,在本地的安装过程如下:

三个XHTML页面必须是2个团恭喜发财全的还要合法的XML文书档案。XHTML
1.0 recommendation 的第5部分详细介绍了HTML与XHTML的好多分化点,正力柱来最为关键的就像下十条:

  1. 双击CruiseControl.NET-1.3-Setup.exe程序,打开软件设置界面,如下:

    图片 2

  2. 间接点击Next,选用软件设置路径,等待软件设置到位,界面如下:

    图片 3

  3. 软件安装完毕之后,在系统windows服务上将扩充名为CruiseControl.Net
    Server的系统服务,如下:

    图片 4

    只顾,暗中认可境况该服务是由于未运转状态的。

     

  1. 页面必须带有一个法定的XHTML
    DOCTYPE。

因为CC.Net是贰个合并持续工具在布署CC.Net从前,单独靠它和谐是没有实际意义的,所以在布局安顿CC.Net从前,您须求事先准备好还要安装下述
软件:

style=”line-height: 1.5; margin: 0px; padding: 0px;”>三个法定的XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>页面必须再起其余情节出现前包蕴XHTML
DOCTYPE style=”line-height: 1.5; margin: 0px; padding: 0px;”>定义。当您在Visual
Studio 二零零六 style=”line-height: 1.5; margin: 0px; padding: 0px;”>大概Microsoft
Visual Web Developer style=”line-height: 1.5; margin: 0px; padding: 0px;”>中创造3个新的ASP.NET style=”line-height: 1.5; margin: 0px; padding: 0px;”>页面时。二个法定的XHTML
1.0 Transitional DOCTYPE style=”line-height: 1.5; margin: 0px; padding: 0px;”>已经被自动进入到页面其中了。上面是各类标准的XHTML
DOCTYPE style=”line-height: 1.5; margin: 0px; padding: 0px;”>:

XHTML 1.0
Transitional

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”><! style=”line-height: 1.5; margin: 0px; color: #ff00ff; padding: 0px;”>DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

XHTML 1.0
Strict

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”><! style=”line-height: 1.5; margin: 0px; color: #ff00ff; padding: 0px;”>DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

XHTML 1.0
Frameset

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”><! style=”line-height: 1.5; margin: 0px; color: #ff00ff; padding: 0px;”>DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

XHTML
1.1

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”><! style=”line-height: 1.5; margin: 0px; color: #ff00ff; padding: 0px;”>DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

style=”line-height: 1.5; margin: 0px; padding: 0px;”>差别的XHTML
DOCTYPE也 style=”line-height: 1.5; margin: 0px; padding: 0px;”>将决定浏览器将何以呈现有些特定的剧情,这么些将会在后来几篇小说中钻探。

  1. 代码版本管理工科具如VSS

  2. 代码创设工具,假使你是vs.net的用户,强烈提议不要使用NAnt,配置起来比较辛苦,建议利用MsBuild来做创设筑工程具。MsBuild是随.Net
    FrameWork 2.0一块安装的,所您要求在CC.Net服务器上安装.Net FrameWork
    2.0要么以上版本。

  3. 代码规范检查工具,.Net用户推荐应用FxCop.exe,下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=3389f7e4-0e55-4a4d-bc74-4aeabb17997b&displaylang=en,很不好的是,它原本的官方主页 http://code.msdn.microsoft.com/GotDotNet.aspx 关闭了,在新的站点中,作者并未检索到它。

  4. 单元测试工具:Nunit,官方主页:http://sourceforge.net/projects/nunit

  5. 发表计划工具,假如是asp.net网站,能够选拔ASP.NET
    编写翻译工具
    (Aspnet_compiler.exe),但自己深感它倒霉用,于是小编自个儿完成了一三种的代码发布,FTP上传,XCopy安装等零件,在末端会波及。

  1. 页面包车型地铁根节点必须钦点XHTML的命名空间。

除此之外上述,CC.Net还协理NCover,Simian和Fitness,笔者没有现实选取,便不多讲。 

<html> style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记必须钦点贰个默许的命名空间。例如2个XHTML
1.0 Transitional style=”line-height: 1.5; margin: 0px; padding: 0px;”>页面应该有如下宣示:

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>html  style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>xmlns style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”http://www.w3.org/1999/xhtml” style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”> xml:lang style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”en” style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”> lang style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”en” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

 注:本文属jillzhang  原创,转发请注脚出处
,欢迎访问http://jillzhang.cnblogs.com/来博取最新更新

  1. 具有的号子以及质量名称必须为小写字母。
  1. 什么布置和布置  

XML style=”line-height: 1.5; margin: 0px; padding: 0px;”>语法是大小写敏感的,所以< style=”line-height: 1.5; margin: 0px; padding: 0px;”>div> style=”line-height: 1.5; margin: 0px; padding: 0px;”>与< style=”line-height: 1.5; margin: 0px; padding: 0px;”>DIV> style=”line-height: 1.5; margin: 0px; padding: 0px;”>是不一致的记号,当然,唯有 style=”line-height: 1.5; margin: 0px; padding: 0px;”><div> style=”line-height: 1.5; margin: 0px; padding: 0px;”>是合法的XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记。

若果上述的多少个工具已经成功安装,上面就用三个档次来演示一下怎样完成自动化构建,单元测试,代码规范检测,自动发布安顿。并且能够演示项目管理和开发人士通过哪些的一手能登时明白持续集成化的结果。

  1. 属性值必须书写于部分引号内。

在示范制作此前,大家先来看一下脚下的趋之若鹜集成环境。

style=”line-height: 1.5; margin: 0px; padding: 0px;”>引号可以为双引号,也可为单引号。如下宣示是非法的:

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>a  style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>href style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=Page.aspx style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>Link style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>a style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

 

style=”line-height: 1.5; margin: 0px; padding: 0px;”>那里贫乏了包围Page.aspx style=”line-height: 1.5; margin: 0px; padding: 0px;”>的引号,应当如下书写:

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>a  style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>href style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”Page.aspx” style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>Link style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>a style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

 

Visual Studio 二零零六  style=”line-height: 1.5; margin: 0px; padding: 0px;”>和Visual
Web Developer style=”line-height: 1.5; margin: 0px; padding: 0px;”>可以自行把属性值用引号括起来。这一意义能够在 style=”line-height: 1.5; margin: 0px; padding: 0px;”>Tools,  style=”line-height: 1.5; margin: 0px; padding: 0px;”>Options,  style=”line-height: 1.5; margin: 0px; padding: 0px;”>Format style=”line-height: 1.5; margin: 0px; padding: 0px;”>中设定。

工具

地址和路径

Visual Studio SouceSafe

本局域网下一台服务器,IP地址192.168.1.200,共享目录:VSS,所以其根路径为: \\192.168.1.200\\VSS ,用户名user,密码pwd

CC.Net

CC.Net安装在IP地址为:192.168.1.10的服务器上。

单元测试工具NUnit

和CC.Net安装在同一主机

代码规范工具FxCop

和CC.Net安装在同一主机

发布服务器

位于公网的一台服务器,IP假设为200.100.11.15

  1. 享有非空的标记必须成对出现。

 

style=”line-height: 1.5; margin: 0px; padding: 0px;”>也正是说,单独的<p> style=”line-height: 1.5; margin: 0px; padding: 0px;”>恐怕<br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>都以非法的,要求有相应的关闭标记。
此间特别要注脚的是常用的<br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记。满意XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>语法的换行标记应该为<br></br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>恐怕简写为<br
/> style=”line-height: 1.5; margin: 0px; padding: 0px;”>,不过在一些浏览器中会把<br></br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>中的</br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>视为不当拼写的<br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>标签,并尝试加以修正为另三个<br> style=”line-height: 1.5; margin: 0px; padding: 0px;”>,那样就招致了七个换行。为了幸免那些不供给的劳动,推荐书写为<br
/> style=”line-height: 1.5; margin: 0px; padding: 0px;”>。同样必要小心的是某些浏览器不可能识别<br/> style=”line-height: 1.5; margin: 0px; padding: 0px;”>(注意’/’ style=”line-height: 1.5; margin: 0px; padding: 0px;”>前尚未空格),所以不要遗忘在’/’ style=”line-height: 1.5; margin: 0px; padding: 0px;”>前增进一个空格。

第②,我们创立用于演示的化解方案姬尔zhang.DailyBuild,个中囊括多个档次:

  1. 标志不得以重叠。

项目

项目描述

Jillzhang.DailyBuild.Core

这个是一个公共类库项目,目的是测试类似这样的项目也在构建范围之内。

Jillzhang.DailyBuild.Test

单元测试项目

Jillzhang.DailyBuild.Web

网站项目一

Jillzhang.DailyBuild.Web2

网站项目二

style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记能够嵌套,但是不可能重叠。如下宣示是官方的:

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>b style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>i style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>This is bold and italic style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>i style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>b style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

 

style=”line-height: 1.5; margin: 0px; padding: 0px;”>而正如包含重叠的扬言是不合法的:

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>i style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>b style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>This is bold and italic style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>i style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>></ style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>b style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

style=”margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 10pt;”>建立好消除方案以往,将其添加到VSS项目管理器中。层次结构如下:

style=”margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 10pt;”>图片 5

style=”margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 10pt;”>上边小编让大家看一下,怎么着布署CC.Net使其行事起来。

  1. 天性无法简写。
  1. 在CC.Net服务器上,点击起首菜单,在装有程序中甄选CruiseControl.Net,打开CruiseControl.NET
    Config配置文件。

  2. CC.Net援救同时监察和控制和合并多个缓解方案,各种消除方案在CC.Net中被誉为二个Project.,在CruiseControl.NET
    Config中叁个Project被贰个<project>成分来描述。当然大家还要为各类Project内定名称和办事目录和日志存放目录。阅读CC.Net的文书档案,你能够掌握<project>成分的局地质量和子成分。这里自身只讲述一些自身利用的。

    name
    ,如<project
    name=”Project1″>表示三个名称为Project1的新工程,这些称呼在后头会作为项指标标识展现给查看报告的用户。比如显示在cctray上照旧在网站doashboard上进展体现。还有三个比较主要的子元素<workingDirectory>那几个成分非凡类似于WCF配置中的<baseAddress>,用它来提醒工程的办事目录,也便是从版本管理器上下载文件的根目录。除了这么些我们还亟需设定子成分<artifactDirectory >它用来提示日志记录的保存地方。CC.Net为大家提供了两种版本管理办法,可以用<labeler>

    来内定使用哪种类型的本子标签,如Date
    Labeller,Default Labeller等,具体也足以查阅文档。大家那里运用Date
    Laberller,所以设置为<labeler
    type=”dateLabeller”/>。上面能够安装源代码管理器,CC.Net支持近期超越56%主流的版本控制工具,如CVS,VSS,Rational
    ClearCase,VSTS,
    Alienbrain等十二种。大家那里运用VSS,依照上文VSS和缓解方案的安顿,大家那里安装为:  

style=”line-height: 1.5; margin: 0px; padding: 0px;”>全数的习性必须钦赐值。例如一种常见的写法

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>input  style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>type style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”checkbox” style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”> checked  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>/>

style=”line-height: 1.5; margin: 0px; padding: 0px;”>在 style=”line-height: 1.5; margin: 0px; padding: 0px;”>XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>中是违规的,因为 style=”line-height: 1.5; margin: 0px; padding: 0px;”>checked style=”line-height: 1.5; margin: 0px; padding: 0px;”>属性没有值与其相应。应该改写成

style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #800000; padding: 0px;”>input  style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>type style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”checkbox” style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”> checked style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>=”checked” style=”line-height: 1.5; margin: 0px; color: #ff0000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>/>

图片 6 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>sourcecontrol  style=”margin: 0px; padding: 0px; color: #ff0000;”>type style=”margin: 0px; padding: 0px; color: #0000ff;”>=”vss” style=”margin: 0px; padding: 0px; color: #ff0000;”> autoGetSource style=”margin: 0px; padding: 0px; color: #0000ff;”>=”true” style=”margin: 0px; padding: 0px; color: #ff0000;”> applyLabel style=”margin: 0px; padding: 0px; color: #0000ff;”>=”true” style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 7
图片 8 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>$/Jillzhang.DailyBuild.root/Jillzhang.DailyBuild style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 9
图片 10 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>username style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>user style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>username style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 11
图片 12 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>password style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>pwd style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>password style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 13
图片 14 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>ssdir style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>\\192.168.1.200\vss\ style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>ssdir style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 15
图片 16 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>cleanCopy style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>false style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>cleanCopy style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 17
图片 18 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>sourcecontrol style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 19

 将autoGetSource设置为true,CC.Net会透过监视VSS中代码的本子变化,自动从版本管理器中取得源代码。Project是要选用的缓解方案在vss中的路径,值为如下:

  1. 使用id属性,而不是name属性。

 

style=”line-height: 1.5; margin: 0px; padding: 0px;”>在HTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>中,name style=”line-height: 1.5; margin: 0px; padding: 0px;”>属性能够用来标识identify < style=”line-height: 1.5; margin: 0px; padding: 0px;”>a>< style=”line-height: 1.5; margin: 0px; padding: 0px;”>applet>< style=”line-height: 1.5; margin: 0px; padding: 0px;”>form>< style=”line-height: 1.5; margin: 0px; padding: 0px;”>frame>< style=”line-height: 1.5; margin: 0px; padding: 0px;”>iframe>< style=”line-height: 1.5; margin: 0px; padding: 0px;”>img> style=”line-height: 1.5; margin: 0px; padding: 0px;”>和 style=”line-height: 1.5; margin: 0px; padding: 0px;”> < style=”line-height: 1.5; margin: 0px; padding: 0px;”>map> style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记。XHTML
1.0 Strict style=”line-height: 1.5; margin: 0px; padding: 0px;”>和XHTML
1.1 standards style=”line-height: 1.5; margin: 0px; padding: 0px;”>已经删除了对name style=”line-height: 1.5; margin: 0px; padding: 0px;”>属性的辅助。大家应当使用id style=”line-height: 1.5; margin: 0px; padding: 0px;”>唯一标识二个页面上的因素。

图片 20

  1. 属性值中空格的拍卖。
    属性值中初始和最终的全数空格将被忽视。属性值中词与词之间的多少个空格或换行符将被认为成单个空格。例如如下四个天性的值相同:
    <input value=”HTML is out” />
    <input value=”   HTML        is
         out    ” />

  2. <script>和<style>标记的内容必须被包围在CDATA段中。

Username为访问vss的用户名,password为访问vss的密码。ssdir是
vss代码库的共享路径,小编那边为\\192.168.1.200\vss\
。要是将cleanCopy设置为true,那么CC.Net每便获得最新文件的时候是或不是完全覆盖更新文件。

style=”line-height: 1.5; margin: 0px; padding: 0px;”>例如:

style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script type style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>= style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>text/javascript style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”><! style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>[CDATA[ 
style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>function style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> func(a, b) 
style=”line-height: 1.5; margin: 0px; padding: 0px;”> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>{
style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>if style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> (a  style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> b) 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>    style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>return style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>true style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>; 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>} style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>]] style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>>

style=”line-height: 1.5; margin: 0px; padding: 0px;”>注意到地方的Script style=”line-height: 1.5; margin: 0px; padding: 0px;”>中有小于号(< style=”line-height: 1.5; margin: 0px; padding: 0px;”>)出现,假使不将其包围在CDATA style=”line-height: 1.5; margin: 0px; padding: 0px;”>段中,那么小于号(< style=”line-height: 1.5; margin: 0px; padding: 0px;”>)以及背后的内容会被误认为是另1个XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记的发端,引起一些不须求的谬误。

style=”line-height: 1.5; margin: 0px; padding: 0px;”>要求注意的是IE style=”line-height: 1.5; margin: 0px; padding: 0px;”>认为在<script> style=”line-height: 1.5; margin: 0px; padding: 0px;”>标记中的CDATA style=”line-height: 1.5; margin: 0px; padding: 0px;”>段是非法的,并会抓住脚本错误,那么些题材能够动用JavaScript style=”line-height: 1.5; margin: 0px; padding: 0px;”>注释来制止:

style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script type style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>= style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>text/javascript style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 
style=”line-height: 1.5; margin: 0px; padding: 0px;”> style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>/* style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”> <![CDATA[  style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>*/ style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>
style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>function style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> func(a, b) 
style=”line-height: 1.5; margin: 0px; padding: 0px;”> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>{
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>if style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> (a  style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> b) 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>    style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>return style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>true style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>; 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>} style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 
style=”line-height: 1.5; margin: 0px; padding: 0px;”> style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>/* style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”> ]]>  style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>*/ style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>>

或者

style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script type style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>= style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>text/javascript style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>” style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 
style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>// style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”> <![CDATA[  style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>
style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>function style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> func(a, b) 
style=”line-height: 1.5; margin: 0px; padding: 0px;”> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>{
style=”line-height: 1.5; margin: 0px; color: #008080; padding: 0px;”>     style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>if style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> (a  style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>< style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> b) 
style=”line-height: 1.5; margin: 0px; color: #008080; padding: 0px;”>     style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>   style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>return style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>  style=”line-height: 1.5; margin: 0px; color: #0000ff; padding: 0px;”>true style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>; 
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>} style=”line-height: 1.5; margin: 0px; color: #008080; padding: 0px;”>
style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>// style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”> ]]> style=”line-height: 1.5; margin: 0px; color: #008000; padding: 0px;”>
style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”></ style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>script style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”>> style=”line-height: 1.5; margin: 0px; color: #000000; padding: 0px;”> 

当然,最好的点子是把剧本和CSS style=”line-height: 1.5; margin: 0px; padding: 0px;”>放置于独立的文本中并在XHTML style=”line-height: 1.5; margin: 0px; padding: 0px;”>页面中拉长引用。

近期,大家的配置文件为:

 

 

附:

图片 21 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>cruisecontrol style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 22
图片 23 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>project  style=”margin: 0px; padding: 0px; color: #ff0000;”>name style=”margin: 0px; padding: 0px; color: #0000ff;”>=”TestProject” style=”margin: 0px; padding: 0px; color: #ff0000;”> webURL style=”margin: 0px; padding: 0px; color: #0000ff;”>=”http://127.0.0.1/ccnet/” style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 24
图片 25 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>workingDirectory  style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>E:\DailyBuild style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>workingDirectory style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 26
图片 27 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>artifactDirectory style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>E:\DailyBuild\Log style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>artifactDirectory style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 28
图片 29 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>labeller  style=”margin: 0px; padding: 0px; color: #ff0000;”>type style=”margin: 0px; padding: 0px; color: #0000ff;”>=”dateLabeller” style=”margin: 0px; padding: 0px; color: #0000ff;”>></ style=”margin: 0px; padding: 0px; color: #800000;”>labeller style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 30
图片 31 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>sourcecontrol  style=”margin: 0px; padding: 0px; color: #ff0000;”>type style=”margin: 0px; padding: 0px; color: #0000ff;”>=”vss” style=”margin: 0px; padding: 0px; color: #ff0000;”> autoGetSource style=”margin: 0px; padding: 0px; color: #0000ff;”>=”true” style=”margin: 0px; padding: 0px; color: #ff0000;”> applyLabel style=”margin: 0px; padding: 0px; color: #0000ff;”>=”true” style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 32
图片 33 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>$/Jillzhang.DailyBuild.root/Jillzhang.DailyBuild style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 34
图片 35 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>username style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>user style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>username style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 36
图片 37 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>password style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>pwd style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>password style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 38
图片 39 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>ssdir style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>\\192.168.1.200\vss\ style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>ssdir style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 40
图片 41 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>cleanCopy style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>false style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>cleanCopy style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 42
图片 43 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>sourcecontrol style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 44
图片 45 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 46
图片 47 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>cruisecontrol style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 48
图片 49

题材① 、标准情势下document.body.clientHeight 与
document.body.srcollTop取不到供给的值的标题

安装好VSS后,大家得以运维CC.Net了,方法如下,打开Services.Msc,找到CruismControl.Net
Server服务,在开发银行在此以前,要求先消除一下恐怕最影响心思的标题:大家领略windows
services暗许情形下是用地方系统账户运营的,可一般意况下我们会在当下操功效户下设置对vss共享目录的拜会权限,比如当前windows运维账户为administrator,那么大家在administrator中经过net
use设置对\\192.168.1.200\vss\的走访,也足以透过Source
Safe
Client打开该代码库,可那往往是二个冰雾弹,当大家在CC.Net中间试验图用服务来拜会\\192.168.1.200\vss\ 的时候,系统服务账户并从未与该共享目录建立会话,所以会拒绝访问\\192.168.1.200\vss\,连访问权限都没有,更毫不说获得代码了。所以首先要留意的是开发银行前,先安装服务的周转账户:

在Quirks渲染情势下<body>作为文书档案的根,所以能够用document.body.clientHeight获得文书档案的可观。而在斯坦dard渲染形式下,<html>作为文书档案的根,要求动用document.documentElement.clientHeight才能够拿走。此时document.body的万丈和增幅都为0

图片 50

消除办法:使用document.documentElement
代替document.body

唯有如此,我们才能开始展览上面包车型地铁干活:

难点② 、CSS定义在 loose.dtd和xhtml1-transitional.dtd下无效的题材:
如:

运维CruismControl.Net
Server服务,重新签出,嵌入一下化解方案,稍等一段时间,我们便会在干活目录E:\DailyBuild中观察自动得到过来的公文。还要值得注意的某个是在log目录中最好事先成立好buildlogs,假设你在开发银行CrusimControl.Net
Server服务的时候有错误出现,比如在起步的时候总是现身:

body{
SCROLLBAR-FACE-COLOR: #f2f2f2; 
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; 
SCROLLBAR-SHADOW-COLOR: #999999; 
SCROLLBAR-3DLIGHT-COLOR: #999999; 
SCROLLBAR-ARROW-COLOR: #999999; 
SCROLLBAR-TRACK-COLOR: #ff0000; 
SCROLLBAR-DARKSHADOW-COLOR: #ffffff;

图片 51

overflow-y:hidden
}

十分的大概得场合正是地点的配置有不当,您能够通过上面三种办法来明确服务到底出现了哪些的题材:

化解办法正是

  1. 依据提醒,在事件查看器中查看错误,如:

    图片 52

  2. 您仍是能够到CrusimControl.Net
    Server的应用程序目录查找名为ccnet.log的公文,里面有CC.Net详细的操作步骤。

html,body{
SCROLLBAR-FACE-COLOR: #f2f2f2; 
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; 
SCROLLBAR-SHADOW-COLOR: #999999; 
SCROLLBAR-3DLIGHT-COLOR: #999999; 
SCROLLBAR-ARROW-COLOR: #999999; 
SCROLLBAR-TRACK-COLOR: #ff0000; 
SCROLLBAR-DARKSHADOW-COLOR: #ffffff;

若果没有运行错误并且在ccnet.log中向来不强烈的不得了,能够打开监视网站来查看集成结果,监视网站的地址是在<project>成分上经过设置webU安德拉L属性来完毕的,大家开辟这一个网址,如图:

overflow-y:hidden

图片 53

当Last
Build
Status为Success的时候表示项目并入成功,此时点击项目名,能够查阅具体的合龙结果:

图片 54

一旦调用MsBuild来对代码举办变更,调用FxCop举办代码规范检查,和调用NUnit实行单元测试集成,还须要对CC.Net进行下一步的安插。

代码规范检侧工具FxCop不能够被CC.Net直接使用,它必须叠加到MsBuild.Exe的下令行中,有关怎样行使MSBuild,能够参考msdn,不加强际介绍。为此大家创立几个用于转移并检讨代码规范的天职,CC.Net援救自定义职分,方法是:使用Task中的Executable
Task。

先是在做事目录,成立一个用来msbuild参数的DailyBuild.msbuild文件,文件内容如下:

 

图片 55 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>Project  style=”margin: 0px; padding: 0px; color: #ff0000;”>DefaultTargets style=”margin: 0px; padding: 0px; color: #0000ff;”>=”Build” style=”margin: 0px; padding: 0px; color: #ff0000;”> xmlns style=”margin: 0px; padding: 0px; color: #0000ff;”>=”http://schemas.microsoft.com/developer/msbuild/2003” style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 56
图片 57 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>Target  style=”margin: 0px; padding: 0px; color: #ff0000;”>Name style=”margin: 0px; padding: 0px; color: #0000ff;”>=”Build” style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 58
图片 59 style=”margin: 0px; padding: 0px; color: #008000;”><!– style=”margin: 0px; padding: 0px; color: #008000;”> Clean, then rebuild entire solution  style=”margin: 0px; padding: 0px; color: #008000;”>–> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 60
图片 61 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>MSBuild  style=”margin: 0px; padding: 0px; color: #ff0000;”>Projects style=”margin: 0px; padding: 0px; color: #0000ff;”>=”Jillzhang.DailyBuild.sln” style=”margin: 0px; padding: 0px; color: #ff0000;”> Targets style=”margin: 0px; padding: 0px; color: #0000ff;”>=”Clean;Rebuild” style=”margin: 0px; padding: 0px; color: #0000ff;”>/> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 62
图片 63 style=”margin: 0px; padding: 0px; color: #008000;”><!– style=”margin: 0px; padding: 0px; color: #008000;”> Run FxCop analysis  style=”margin: 0px; padding: 0px; color: #008000;”>–> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 64
图片 65 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>Exec  style=”margin: 0px; padding: 0px; color: #ff0000;”>Command style=”margin: 0px; padding: 0px; color: #0000ff;”>=”exeu.bat” style=”margin: 0px; padding: 0px; color: #ff0000;”>  style=”margin: 0px; padding: 0px; color: #0000ff;”>/> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 66
图片 67 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>Target style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 68
图片 69 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>Project style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 70
图片 71

那个MsBuild选项会使得msbuild.exe在扭转实现之后调用工作目录中的exeu.bat文件,exeu.bat中是有关选择FxCop方法的,内容如下:

图片 72 style=”margin: 0px; padding: 0px; color: #000000;”>cd D:\Program Files\Microsoft FxCop 1.36 
图片 73
图片 74d: 
图片 75
图片 76FxCopCmd /project:E:\DailyBuild\Jillzhang.DailyBuild.FxCop /out:E:\DailyBuild\log\DailyBuild.FxCop.xml 
图片 77

指标就是经过调用FxCop安装目录下的FxCopCmd命令行工具,对点名的先后集实行规范性检查,上述代码中,E:\DailyBuild\姬尔zhang.DailyBuild.FxCop是事先生成好的FxCop项目文件,生成办法是开拓FxCop
可视化界面,添加target,并保留到此为地点即可,如图:

图片 78

并保留到E:\DailyBuild\Jillzhang.DailyBuild.FxCop

添加能生成代码并且检查和测试代码规范性的配备如下:

 

图片 79 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>tasks style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 80
图片 81 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>exec style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>  style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>executable style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>executable style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>  style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>baseDirectory style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>E:\DailyBuild style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>baseDirectory style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 82
图片 83 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>buildArgs style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>DailyBuild.msbuild /p:Configuration=Release style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>buildArgs style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 84
图片 85 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>buildTimeoutSeconds style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>1200 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>buildTimeoutSeconds style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 86
图片 87 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>exec  style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 88
图片 89 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>merge style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 90
图片 91 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>files style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 92
图片 93 style=”margin: 0px; padding: 0px; color: #0000ff;”>< style=”margin: 0px; padding: 0px; color: #800000;”>file style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”>E:\DailyBuild\log\Build.FxCop.xml style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>file style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 94
图片 95 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>files style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 96
图片 97 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>merge style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 98
图片 99 style=”margin: 0px; padding: 0px; color: #0000ff;”></ style=”margin: 0px; padding: 0px; color: #800000;”>tasks style=”margin: 0px; padding: 0px; color: #0000ff;”>> style=”margin: 0px; padding: 0px; color: #000000;”> 
图片 100
图片 101

只顾,buildTimeoutSeconds是变化操作的过期时间,还有最好设置/p:Configuration=Release,因为那样便于以往发表。而Merge是将上面种种职务中生成的日记进行联合。

style=”margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 10pt;”>上面重新签出嵌入,观察集成结果:

style=”margin: 0px; padding: 0px; font-family: 微软雅黑; font-size: 10pt;”>图片 102

能够看到,已经release成功。

下边就看一下转变的DailyBuild.FxCop.xml,

图片 103开拓看里面包车型大巴始末便足以窥见代码检测结果。

 注:本文属jillzhang  原创,转发请申明出处
,欢迎访问http://jillzhang.cnblogs.com/来取得最新更新

字数太长,本篇先介绍到这边,剩下来的自动化单元测试,自动化公布安顿留作下篇。 

相关文章

Your Comments

近期评论

    功能


    网站地图xml地图