codecamp

CodeSmith 引用其它文件或 .Net 类库

引用其它文件或 .Net 类库

在 CodeSmith 模板中可以引用 .Net 类库,和普通的 .Net 项目不同的是,对 .Net 库的引用不是通过项目的 Add reference 来实现,而是通过在代码模板中指明所要引用的 Assembly.

比如引用 CodeSmith 自带的 CodeSmith.CustomProperties.dll ,可以使用如下语句:

<%@ Assembly Name="CodeSmith.CustomProperties" %>
  • Name指明所有需要引用的 Assembly 的名称,也可以使用 Assembly 的全名,比如ExampleAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
  • Src 指明可以动态编译的源码的相对路径名称
  • Path 指明应用的 Assembly 存放的路径

引用合适的 Assembly 之后,和普遍 C# 语言类似,对于使用到的 .Net 类,需要通过 Import 引入该类所在的命名空间。

比如 CodeSmith 使用教程(9): Progress对象引入 Thread 类所在的 System.Threading

<%@ Import Namespace="System.Threading" %>

此外,如果在代码模板中需要引入一些源代码 (比如一些公用的代码)可以通过 include ,比如:

<!– #include file="CommonScript.cs" –>

共享代码的方法除了上面使用的 include 方法外,还可以通过设置 CodeTemplateAssembly 的Src 属性来实现等。

CodeSmith CodeTemplateInfo 对象
CodeSmith 使用主从代码模板
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }