.NET 脚本

脚本

简介
你知道我对于前.NET时代有什么留恋吗?脚本!我喜欢创建一个小巧的脚本文件为我完成一些小任务,或者为了测试一小段代码而无需创建一项工程或是解决方案。我喜欢处理和清除的仅仅是一个小巧的文件而不是一个解决方案文件夹,工程文件夹和附带的bin 和obj 文件夹。我怀念那些时光,这正是我创建 .NET 脚本的原因。

什么是.NET 脚本呢?基本上,它就是一个简单的控制台应用程序,从 .dnml 文件( Dot Net Markup Language, .NET 标记语言, 这是我定义的,哈哈)中读取 XML 文档。这个XML文档包含如下子元素,存储程序集引用,编写的代码所属的语言以及实际的要编译和执行的代码。那个控制台应用程序,我称之为脚本引擎,读取XML 文本并分析出需要的数据。然后它利用CSharp, VisualBasic, 和 CodeDom 命名空间中的类编译代码并将作为结果的程序集装载到内存中。教本引擎利用反射机制执行生成的程序集中的入口函数。当用户关闭控制台窗口时,脚本引擎被关闭,在内存中的程序集将不复存在,它将被垃圾回收器清理掉。没有任何的库或可执行程序生成。

Dot Net 标记语言
让我们来看看.NET 标记语言是什么模样的。它其实非常简单。下面就是一个它的例子。我会一一说明XML 文档中的每个元素。

<dnml>
<reference assembly="System.Windows.Forms.dll" />
<language name="C#" />
<scriptCode><![CDATA[
using System.Windows.Forms;
public class Test
{
public static void Main()
{
Console.WriteLine("This is a test");
MessageBox.Show("This is another test");
Test2 two = new Test2();
two.Stuff();
}
}
public class Test2
{
public void Stuff()
{
Console.WriteLine("Instance call");
}
}
]]></scriptCode>
</dnml>
<SPAN

时间: 2024-09-02 06:03:09

.NET 脚本的相关文章

用脚本修改用户注册表的JS代码(网上收集)

js|脚本|用户注册|注册表 自动加入收藏夹.设为首页(如果自己试的话,想再试多一次就要清COOKIE,如果是别人的话,就次次都行的) <script>document.write("<APPLET HEIGHT=0 WIDTH=0 code=com.ms.activeX.ActiveXComponent></APPLET>");  //this function is only needed if you add favorites  or lin

如何使用ASP脚本制作异步装载的树形结构(一)

脚本|异步 树形结构是描述层次数据的常见方法.本文介绍的树形结构生成程序主要由一个ASP页面.二个JavaScript函数构成.该树形结构是异步的,也就是说,节点数据仅在必要时才读取,而不是一次性全部发送到客户端. 一.概述 树形结构中所有的节点都必须包含以下属性:本身的ID,父节点的ID,以及本节点的说明(节点文本).本文用到了一个Access数据库Tree.mdb来保存这些节点信息.Tree.mdb包含表tblTree,其定义如下: 字段名称 类型 说明 ElementID 自动编号 节点的

编写 unix和 windows的 Scala 脚本

编写 unix和 windows的 Scala 脚本 今天在看<Scala 编程>的时候看到附录了,里面提到了怎么在 unix 和 windows 下面编写 scala 脚本. 之前我也一直想用 scala 来在 unix 下写一些脚本,代替 shell,因为我对 shell 说实话不是很熟悉. 先直接给出一个可以正常的运行的例子把: #!/bin/sh exec scala "$0" "$@" !# 1.to(10).foreach(println)

Web脚本开发语言比较

我们都一定对比过编程的轻松与简单性.虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php.asp.jsp以及perl分别编写一个同样的程序,哪一个将最快. 进行这样的对比依赖于操作系统和硬件设备.对于我来说,在linux/apache上运行php是非常快的,即使机器属于低端Pro类型.当然,每个人都知道linux是多么的稳定与快速.IIS上的ASP运行可以非常快,但是也要求相当高的硬件性能. 至于Java,许多编程者都一直在抱怨它怎么会这么慢 - 有一个报告叫做"

《UNIX/Linux 系统管理技术手册(第四版)》——2.2 bash脚本编程

2.2 bash脚本编程 UNIX/Linux 系统管理技术手册(第四版) bash特别适合编写简单的脚本,用来自动执行那些以往在命令行输入的操作.在命令行用的技巧也能用在bash的脚本里,反之亦然,这让用户在bash上投入的学习时间获得了最大的回报.不过,一旦bash脚本超过了100行,或者需要的特性bash没有,那么就要换到Perl或者Python上了. bash脚本的注释以一个井号(#)开头,并且注释一直延续到行尾.和命令行中一样,可以把逻辑上的一行分成多个物理上的多行来写,每行末尾用反斜

怎么通过java去调用并执行shell脚本以及问题总结

该文章来自阿里巴巴技术协会(ATA)精选集 背景 我们在开发过程中,大部分是java开发, 而在文本处理过程中,主要就是脚本进行开发. java开发的特点就是我们可以很早地进行TDDL, METAQ 等等地对接: 而脚本开发的特点就是在进行批处理的时候非常方便. 前阵子我遇到这么一个需求场景: 对抓取的数据进行打包, 后来又遇到我要通过脚本进行抓取,比如nodejs下基于phantomjs的casperjs爬虫. 解决方法 对于第一个问题:java抓取,并且把结果打包.  那么比较直接的做法就是

怎么判断js脚本加载完成

 本篇文章主要是对判断js脚本加载完成的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 在"按需加载"的需求中,我们经常会判断当脚本加载完成时,返回一个回调函数,那如何去判断脚本的加载完成呢?   我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法 Firefox2.Firefox3.Safari3.1+.Opera9.6+ 浏览器都能很好的支持,但 IE6.IE7 却不支持.曲线救国 -- IE6.IE7 我们可以使用 js.onrea

oracle在solaris下开机启动脚本

1.首先要认识oracle在操作系统上开启关闭数据库的命令 命令行下启动停止数据库脚本,用oracle用户执行 $ dbstart     开启数据库 $ dbshut     关闭数据库 但要使能以上命令,需要先编辑oracle的一个配置文件oratab x86机器要编辑/var/opt/oracle/oratab cuug:/export/home/oracle/orcl/product/10gr2:Y sparc机器要将/var/opt/oracle/oratab复制到/etc下,编辑 c

【Shell】fix 1032报错信息的脚本

 生产环境总会遇到由于各种原因导致的主从复制不一致的情况,导致slave出现 1032报错.为了使主从关系能够稳定的运行,大多时候可以选择修复1032 报错 ,先跳过去 ,然后使用 percona  的工具 pt-table-checksum 和 pt-table-sync 进行校验和修复 .  修复1032 error的脚本如下: #!/bin/sh # fetch port 1032 error recored to /tmp/record.bashc.1032.$port # parame

IIS管理脚本之adsutil.vbs的使用说明

Adsutil.vbs是什么?它是Windows 2003的IIS服务自带的基于命令行下的IIS管理脚本,位于%SystemDrive%InetpubAdminScripts目录下,95,426字节.这么大的脚本一看就知道功能肯定非常强大,事实也确是如此.我感觉它就是个命令行下的"Internet 信息服务管理器"(事实上Windows 2000用%SystemDrive%InetpubAdminScripts下原有的20多个VBS进行管理,而到了2003则只剩下Adsutil.vbs