应用情境:
抽象描述:在项目的编译期,开发人员想介入实现自定义的功能。
n 案例1:希望将输出程序集拷贝到某个路径或者注册到GAC。
n 案例2:编译时连接到数据库,为指定的表生成强类型的Dataset,并引用它们。
n 案例3:当项目的版本升级时,自动为程序集生成出版商策略程序集(publisher policy)。
等等。现实中的应用往往比以上的案例要复杂的多,但总的出发点都是一致的:通过一定的方法和策略把一些任务封装起来,这些任务具有如下的特性:
n 有一定的规律,如每日构建;
n 重复执行,如log编译信息;
n 机械性比较高,如批处理文件,拷贝、删除、注册等等
n 复杂度比较高人工处理容易出错的任务,如根据xml schema生成CS类文件。
通过封装,到达的目的只有一个:提高工作效率,节约劳动成本。
伴随.NET2.0出现了MSBuilde组件,如果希望详细的了解它的特性,建议还是参考MSDN。
本例的通过如下的应用情境展示了MSBuild的一些特性:
编译时将本机上的一些xsd文件转化成一组cs文件,并为这些cs文件创建一个新的工程,编译
这个工程,并把该工程的输出程序集添加为源工程的引用。当然,解决这个问题的办法还可
以用VS IDE提供的Customtool机制,这种实现下次再写。
写到这里有点烦,罗里罗嗦的讲个不停,就是没提源代码在哪里下载,有源代码人家不
会自己看呀?就是就是,请各位下载源码看了再议吧。source and demo download.
勃主,题目不是神秘的引用吗?我怎么就没见哪里神秘呢?是吗?请你自己看看项目的引
用里面是否存在包含了Teacher或Student类的程序集?没有吧?看不见的引用却在起作用,
这还不够神秘呀?
别说我没告诉你,如果你把TestBuild.csproj用文本编辑器打开看看或者在解决方案浏
览器里把TestBuild项目卸载然后编辑,就可以发现其实一点都不神秘了。被我忽悠了吧?
生气吗?
其实,是工程文件中这句话起了隐藏引用的作用的,它从内存中添加了引用,所以从解
决方案浏览器中我们不能发现。
<OutputTaskParameter="AssemblyReference"ItemName="Reference"/>
分享到:
相关推荐
- 在括号内编号的分组,可以通过 `\n` 来引用前面第n个括号中的内容。例如,"(.)\1" 可以匹配任何重复的字符对,如 "aa"、"bb" 或 "11"。 通过这些基础规则和扩展机制,正则表达式可以实现复杂的字符串匹配和处理...
然而,这种灵活性也意味着正则表达式的语法可能会变得相当复杂,尤其是当涉及到更高级的功能如分组、引用、前瞻和回溯时。 ### 结论 掌握正则表达式的关键在于实践和理解其基本原理。一旦掌握了基本的符号和构造,...
【神秘浩瀚星球探索PPT模板】是一款设计精美的PPT模板,适用于制作关于太空探索、科幻主题或者年度报告等场合的演示文稿。这款模板以其独特的宇宙元素和深邃的背景,为用户提供了展示创新理念和数据分析的平台。 ...
这篇“JPA2映射的神秘之旅”深入探讨了JPA 2.0的核心概念,包括基本映射、关系映射、集合类型使用、嵌入映射、派生标识映射和继承映射。接下来将详细讲解这些知识点。 首先,JPA基本映射涉及到将Java对象的状态映射...
【神秘浩瀚星球探索PPT模板】是一款设计精美的PPT模板,专为那些想要呈现科幻、探索或宇宙主题报告的人准备。此模板以其独特的视觉元素和深邃的背景色,营造出一种置身于无垠宇宙的氛围,适用于年度报告、项目展示、...
本文档将深入探讨正则表达式的概念、语法以及常见用法,旨在帮助读者揭开其神秘面纱。 一、正则表达式基础 1. 基本字符:正则表达式由一系列基本字符构成,如字母、数字、标点符号等。例如,字符"a"、"b"和"1"都是...
FND函数支持多个参数,其中`FND{POPID|LOADID|VALID}`用于处理外部关键字引用弹性域的情况。这里的外部关键字指的是一个表中的字段,该字段引用另一个表的主键。在实际应用中,这一功能常用于报表处理、值集定义等...
### 搞定难点:MySQL神秘的约束机制 #### 一、引言 数据库的约束机制是维护数据完整性和正确性的关键。本文将详细介绍MySQL中的几种常见约束,并通过实例进行说明,帮助读者更好地理解如何利用这些约束来保障数据...
文档“通达信指标公式源码软件绝对经典 趋势 神秘主图.doc”是一个关于股票分析的教程,特别关注通达信交易平台的自定义技术指标编写。这个指标公式旨在帮助用户识别趋势、关键支撑和阻力点,以及潜在的买入和卖出...
标题中的“切莫迷信测试软件一颗让老鸟抓狂的神秘处理器”暗示了本文可能讨论的是在处理器评测和性能分析中,过于依赖测试软件可能导致的误导性结果,以及某些特定处理器可能带来的挑战。这些测试软件可能包括CPU...
例如,《沙漠里奇怪的现象》中引用了法显和玄奘的记载,使得沙漠的神秘和危险跃然纸上,引起读者的好奇心,促使他们继续阅读以寻找答案。 此外,引用还能增强说明的权威性和可信度。文章引用了法国科学家孟奇的故事...
JNDI(Java Naming and Directory Interface)是Java平台的一个标准接口,用于查找和引用分布式环境中的对象和服务。在集群环境中,JNDI的实现通常需要考虑以下几点: ##### 5.1 共享全局JNDI树 在集群环境中,...
- 故事(典故):吸引读者,增加神秘感,体现作者的情感。 3. 引用方式的分类: - 明引:直接引用,通常会标注来源或加引号。 - 暗引:间接引用,不直接注明,将原文融入自己的话语中。 - 仿引:模仿原文形式,...
当我们要用到RTC的时候,就不能再不设置Clock Setting的选项了,猛然间需要对这个神秘的东西进行设置,刚开时我也是云里雾里的(因为,没有任何的文献可供参考),我就只能摸着石头过河,现在把我的设置经验与大家...
从CSS的角度来看,它易于使用,因为它会生成一个引用每个图标的类,并且不使用CSS精灵。 grunticon会保存一个(通常是您在Adobe Illustrator等应用程序中绘制的图标),然后将以3种格式到CSS: , 和 ,这些 也会...
在这种情况下,对于文件的路径和引用方式也变得尤为重要,因为它们会直接影响到编译过程的正确性。 在实际开发过程中,为了确保编译器能够正确处理所有文件,并且能够快速定位问题,开发者需要对文件的组织和结构...
这个神秘的键就是"F4",按一下,相对引用就变为绝对引用,再按一下,绝对引用又变回相对引用。这样可以快速地切换引用方式,提高工作效率。 技巧三:单元格内快速换行 你知道怎么样在一个单元格内进行换行吗?...