随笔分类 - .NET
摘要:using System;using System.Threading;using System.Collections.Generic;using System.Diagnostics;namespace DuckTyping{ class Program { public static int Range = 10000000; static void Main(string[] args) { string newRange = Console.ReadLine(); if (!string.IsNullOrEmpty(newRange)) { Range = Int32.Parse(n
阅读全文
摘要:令人期待的Prism V4 经历了10个Drop以后, 终于在上周五(北京时间周六)正式发布了. 看起来这个版本最重要的更新是引入了MEF从而支持选择Unity或者MEF构建UI注入构架的基础. 下文是引用自其Codeplex站点的简单介绍: " Prism provides guidance designed to help you more easily design and b...
阅读全文
摘要:小议关于文件流Seek以及Read操作的一点不满以及对设计的讨论, 暨回应园中近来之C#语言之争。
阅读全文
摘要:针对.NET 4.0中新的线程池和平行任务库, 本文针对于原来线程池的缺点不足, 总结介绍了任务中间的三中关系: 父子, 次序, 重叠, 并解释了平行任务库和线程池对于这些关系的处理。
阅读全文
摘要:把两句诗拧在一起, 实在是体现对VS2010复杂的感觉. VS2010要发布了, 但是别高兴地太早.
阅读全文
摘要:代码在真正进入代码仓库之前, 应该有机会通过一种和已有代码合并的集成性生成验证过程, 如果验证过程失败则拒绝签入. 有些源代码控制和生成平台提供了这样的选择. 但是TFS没有这样的功能. TFS的服务器生成过程, 总是以当前代码仓库中的代码为目标的. 值得注意的是, TFS在创建新的生成类型定义的向导中向我们提供触发器(Trigger)选择时, 给我们提供了一种"代码签入时引发生成"的选项. 这个选项所谓的生成过程, 是在签入后而不是签入前!
面对这样的功能性缺失, 而我们又有迫切的验证修改正确性的需求, 我们该怎么办呢?
答案就是Desktop Build.
阅读全文
摘要:重写团队基础生成流程, 是团队基础最富于弹性和扩展能力的地方, 也是实践最多优劣各异的地方. 这是MSBuild引擎的优秀能力: 给MSBuild引擎提供任意一个格式正确的生成脚本, MSBuild引擎都能搞解析生成脚本并形成可以顺序(或并行)执行的执行顺序流. 所以我们现在回过头来看, Team Build是什么? 我们试着从本质上归结一下:
"在MSBuild引擎驱动下的, 以团队基础框架提供的包含一系列生成目标(Target)的默认生成脚本文件 - Microsoft.TeamFoundation.Build.targets - 为基础的, 可以被用户自定义生成脚本文件 - tfsbuild.proj - 所覆盖从而形成一条确定的可执行的生成流程."
阅读全文
摘要:微软真的偷懒了 - 在上一节讨论中已经提到, 我们希望每次生成所使用的生成号(BuildNumber)和附加在程序集上的版本标记一致.这样才能在程序集版本信息和特定的生成过程之间建立起联系. 本质上是管理的需求. 但是默认的生成号产生机制给我们带来了比较大的麻烦. 因为程序集版本号的格式, 一般是这样的: xx.xx.xxxxxx.xx, 即主版本号(Major Version No.), 次版本号(Minor Version No.), 生成号(Build No.), 修订号(Revision No.)
这是符合长期以来程序集的版本号命名格式习惯的...
阅读全文
摘要:TFS 2008作为一个成熟团队日常管理应用平台, 现在已经被很多团队所采用. 与之相关的自动化构建流程, 也日益成熟. 但是, 笔者还是会经常看到一些比较拙劣的实现, 或者"拆东墙补西墙"的做法. 这样做或者直接影响到TFS的使用者, 或者解决了眼下问题却在不经意间引入了另外的问题. 这个系列的文章, 希望着眼于实践而不是技术本身, 讨论在TFS 2008的过程中的最佳方法和方案, 从自动化构建的需求的方方面面考虑, 总结出一条比较平衡和成熟的道路, 使自动化构建流程更加完整高效.
阅读全文
摘要:本文关注自动化构建实践中的第一个问题, 程序集的版本信息标记. 我们是否应该在自动化构建过程中更新程序集版本信息? 这样做有什么好处或者弱点? 有没有比较好的做法来解决这一问题? 相信在本文中给出了一个解答.
阅读全文
摘要:本文分析了现下各架构CPU内存访问模型的原则及实现, 内存访问指令的重新排序, 及其对.NET框架的影响, 尤其是编写单例模型的过程中应该注意的问题. 另外, 在编程之余, 将本文作为一篇对CPU模型的浮光掠影式的了解材料, 换换思路也是不错的.
阅读全文
摘要:本文简单介绍了显示DWFx文档的WPF DocumentViewer控件, 介绍了XPS Packaging类库的组织和几个重要的类, 揭示了从DWFx到XAML的转换过程中, 针对于自动化的系统需求, 所需要的数据和转换. 最后提供了一个DWFx 解包, 转换的类库, 并且提供了一个简单的演示程序.
阅读全文
摘要: 上一篇文章简单介绍了DWG格式的历史, 现状, 以及互操作的选择. 在本篇中,详尽的分析了XPS规范的框架,内容,组织结构, DWFx文件的特有数据和结构, 以及从DWG文件转换为DWFx文件的步骤和应该注意的问题.
阅读全文
摘要:本文作为本系列的第一篇, 以时间为轴, 浅析了AutoDesk公司的AutoCAD软件的主力格式DWG, 在历史上的发展, 现状, 以及向其他格式转化的途径及可能.
阅读全文
摘要:.NET商务应用或者说企业开发的核心, 是数据,数据的状态转化以及数据流. 这里的数据,泛指一切在各个服务或者逻辑模块间进行传递的数据,消息及Operation. 对于数据来说, 持久化永远是不可能被回避的话题. 原因在于,
阅读全文