随笔 - 14  文章 - 7  评论 - 101 
  2015年6月16日
摘要: 上篇:设计一、引子自2008年起开发SSMS插件SqlSharp(er)的过程中,有一天发现多数代码都大同小异,就像这样。 Commands2 commands = (Commands2)_applicationObject.Commands; string tools...阅读全文
posted @ 2015-06-16 23:05 CnSharp Studio 阅读(1336) 评论(1) 编辑
  2015年5月29日
摘要: 本码农最近开发一个VS扩展,其中有些功能涉及到文件的签出。我们公司用的是TFS,遇到了一些奇特的现象,将解决过程记录如下。一、明明在线的连接却Offline属性等于True public static Workspace GetWorkspace(string slnDir) { ...阅读全文
posted @ 2015-05-29 10:04 CnSharp Studio 阅读(107) 评论(1) 编辑
  2015年4月12日
摘要: 产品介绍SQL Sharper是一款SQL Server Management Studio插件,用于数据库对象快速查询、表结构查询、优化查询结果导出、代码生成等方面。适用人群:T-SQL开发者、DBA、数据分析师等原名SQL Sharp,曾分别于2010、2011年发布针对SSMS2005、SSM...阅读全文
posted @ 2015-04-12 19:38 CnSharp Studio 阅读(463) 评论(1) 编辑
  2013年12月6日
摘要: SQL Prompt有一个很好用的工具叫Snippet Manager,SQL脚本片段管理器。使用它可以快速的键入一段脚本,如输入ii+Tab,即可变成INSERT INTO同理,我们可以定义一些简写如sf SELECT * FROMscf SELECT COUNT(*) FROM甚至可以定义大段的片段如游标csr:DECLARE @p1 INT,@p2 VARCHAR(20)DECLARE cursor1 CURSOR LOCAL FORWARD_ONLY READ_ONLY STATIC FOR SELECT * FROM [...阅读全文
posted @ 2013-12-06 17:01 CnSharp Studio 阅读(247) 评论(1) 编辑
  2013年4月11日
摘要: SharpUpdater是一个基于.net Framework,将自动更新功能添加到您的windows桌面程序的引导程序。从2.0版本起,它也是一个解决方案,增加了一个示例服务端,提供了一组API供开发人员扩展。一、工作原理 Updater.exe从服务端下载最新版本的发布清单配置文件,同本地发布清单进行比较,如果发现本地版本落后,则从服务端下载差异文件,覆盖到本地,然后启动主程序。二、服务端配置 以IIS7.5为例 1、新建一个IIS站点。 2、禁用*.dll程序处理映射,以允许dll文件下载。 3、在此站点下创建桌面程序子目录,如~/demo/。三、客户端配置 1、包...阅读全文
posted @ 2013-04-11 21:57 CnSharp Studio 阅读(4053) 评论(33) 编辑
  2012年9月18日
摘要: EPPlus是一款功能强大的开源OpenXml Excel组件,目前国内的资料还很少,最近为了替换以前闭源的Excel2007组件(因有一些bug无法修改),作了简单的封装,用于常规的导入导出。分享一下: 1 using System; 2 using System.Data; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Web; 7 using OfficeOpenXml; 8 9 namespace CnSharp.IO.Excel 10 { 11 ///...阅读全文
posted @ 2012-09-18 20:13 CnSharp Studio 阅读(1824) 评论(7) 编辑
  2012年4月6日
摘要: SharpUpdater开源了!http://sharpupdater.codeplex.com/简 介SharpUpdater是一个开源的.NET Windows桌面程序自动更新的组件。它提供一个启动程序在主程序启动时检测最新版本并升级。此外,还提供了一个VS插件生成配置清单。工作原理依赖于一个发布清单的XML配置文件(我们称之为ReleaseList),通过对比客户端和服务端的ReleaseList,计算出需要更新的文件,然后逐一下载覆盖本地客户端程序文件或资源文件。配置文件示例:<ReleaseList xmlns:xsi="http://www.w3.org/2001/阅读全文
posted @ 2012-04-06 21:50 CnSharp Studio 阅读(2368) 评论(13) 编辑
  2011年12月26日
摘要: 1、安装TFS插件Microsoft Visual Studio Team Foundation Server 2010 MSSCCI Provider 32-bitMicrosoft Visual Studio Team Foundation Server 2012 MSSCCI Provider 32-bit2、启用TFS插件3、创建SQL Project4、现有SQL添加到项目阅读全文
posted @ 2011-12-26 18:40 CnSharp Studio 阅读(413) 评论(3) 编辑
  2011年12月25日
摘要: 此篇狗尾续狗,有炒现饭之嫌。但为了学习Spring.NET的AOP实现,同时也是响应前篇的读者,还是再选这个例子。这不,CCTV6又在放《失恋33天》,咱还写这个。Advice(通知)Spring.NET 使用标记接口 AopAlliance.Aop.IAdvice 来定义通知,这个接口又有四个直接的派生接口,还有两个间接地派生接口。Spring.Aop.IAfterReturningAdvice,定义方法执行之后的通知,通知的方法名为 AfterReturningSpring.Aop.IBeforeAdvice,定义所有的前置通知,还是一个标记接口Spring.Aop.IMethodBefo阅读全文
posted @ 2011-12-25 22:43 CnSharp Studio 阅读(1653) 评论(4) 编辑
  2011年12月2日
摘要: 回首征途在上一篇《应用AOP简化WINFORM的异步操作——PostSharp实现》中,实现了通过AOP的方式隔离BackgroundWorker的调用。正如有朋友不倾向PostSharp的编译时代码织入方式,我也没在日常项目中使用过PostSharp。虽然问题可能不大,弃用它也只是重新编译一遍。但最近尝试Enterprise Library PIAB模块来实现相同的功能,还是发现了一些细节问题。一鼓作气与PostSharp不同,PIAB是以动态代理的方式来实现的。那么我们不能直接沿用Form中的代码,需要添加一个代理类来实现WorkThread。好吧,那么我们顺便引入MVP模式,通过Pres阅读全文
posted @ 2011-12-02 00:48 CnSharp Studio 阅读(1528) 评论(4) 编辑