好用的Javascript模板引擎Markup.js

作者:V君 发布于:2014-9-7 1:44 Sunday 分类:挖坑经验

最近在把玩 CEF , 需要生成许多HTML, 由于没有Web Runtime这下要做HTML就蛋疼了...

不能总是拼字符串吧. 

于是V君找啊找, 试过过 T4(Runtime)/Mustache/balabalaba... 最后选择了 Markup.js .

我跟你讲, Markup, 赞! 究竟有多赞咧? 本来来想直接 ⊂彡☆))∀`) 给我去看主页 的,

但考虑到 (´∀((☆ミつ 我不懂英语啦! 新手,还是简要的介绍一下,然后贴一点自己的用法吧 乂D.

阅读全文>>

标签: 软件开发 javascript 模板引擎

评论(0) 引用(0) 浏览(1799)

解决CruiseControl.NET编译出现MSB4025: 未能加载项目文件。名称不能以“<”字符(十六进制值 0x3C)开头。

作者:V君 发布于:2014-9-5 10:45 Friday 分类:挖坑经验

公司用SVN管理源码 并使用CruiseControl.NET编译测试/发布, 

最近trunk出毛病砍掉重练好几回, 后来CruiseControl.NET不工作了: 

MSB4025: 未能加载项目文件。名称不能以“<”字符(十六进制值 0x3C)开头。 

行 [哔----],位置 2。 in [哔----].csproj([哔----], 2)  


打开看到

<Import Project="$(MSBuildExtensionsPath)\...\v9.0\...\WebApplication.targets" />

第二个字符确实是 '<' (如果从0算起 XD)  不过这特么是很标准的XML啊魂淡

难道是 MSBuildExtensionsPath 环境变量? 排查了半天 找不到原因

偶然看到一个帖子说svn更新后才出现这毛病, 把我打醒了

点击查看原图

(因为测试人员说每次都是取完整副本所以排除更新冲突,只是声称罢了)

后来 跑到 CruiseControl.NET 上面编译的工作副本看到:

 <<<<<<<<<<<< .mine

马丹! 到这里, 我认为你懂了

标签: 软件开发 C# 团队开发 SVN 编译错误 CruiseControl.NET

评论(0) 引用(0) 浏览(2564)

Entity Framework 就是个坑

作者:V君 发布于:2014-8-9 13:59 Saturday 分类:折腾手记

前些天整到个 sqlite-net , 支持Linq的轻量级sqlite组件. 起初用着还顺手的

用着用着就马丹了 -- 不支持连表查询/复杂投影, 我了个去!

还是回到DataContext吧... 要么DbLinq 要么实体框架,前者之前用过知道略buggy.

是时候该上手EF了.

>>> 上手吧 <<<

■去Sqlite官网下载组件安装包

由于现在只用到.net4的级别就下了对应安装包

装好(x86/x64)之后发现设计器并没有增加提供程序, 后来才发现 原来vs2013需要4.5.1的才行

果断下一个来装,总算是见到2013的集成选项了,安装过程依次出现数个命令行窗口

最后一个停在Install.exe上,等了几分钟,命令行窗口总算消失了, 安装向导完成!

乖乖的, 数据提供程序出来啦!

点击查看原图

创建数据库连接时出现了莫名其妙的错误

点击查看原图

整了半天 各种版本与提供程序不兼容.. 并且EF还依赖于设计器生成的xml嵌入资源 -- 这跟嗨布馁没差别啊魂淡.

放弃治疗, 要么不做复杂投影, 要么回到buggy的dbLinq..


(偷偷更新:后来还发现了linq2db这货支持复杂投影也能自动生成实体类(T4), 用着还可以)

标签: 软件开发 C# 数据库

评论(0) 引用(0) 浏览(1848)

让mono也能用DynamicExpression::ParseLambda

作者:V君 发布于:2014-7-22 13:29 Tuesday 分类:折腾手记

网上一直传的反射 System.Web.Extensions 私有类

 System.Web.Query.Dynamic.DynamicExpression 

中的 ParseLambda 方法来实现动态lambda表达式

Assembly asm = typeof(UpdatePanel).Assembly;

Type dynamicExpressionType =
    asm.GetType("System.Web.Query.Dynamic.DynamicExpression");

MethodInfo parseLambdaMethod = dynamicExpressionType
   .GetMethods(BindingFlags.Public | BindingFlags.Static)
   .Where(m => (m.Name == "ParseLambda")
            && (m.GetParameters().Length == 2))
   .Single()
   .MakeGenericMethod(typeof(T), typeof(Boolean));

var func = (Func<stringobject[], Expression<Func<T, bool>>>)
    Delegate.CreateDelegate(
       typeof(Func<stringobject[], Expression<Func<T, bool>>>)
       , parseLambdaMethod
    );

在Windows底下一直好好的发挥作用

不过最近在mono跑了爆空指针, 或许是类名不同或者压根就没实现吧

不管了, 试着扒出M¥类库的代码看看能不能用吧.

过程略. (反编译,修正编译器生成标识符,切断依赖) 还挺顺利的 乂D

拿去用吧: System.Web.Query.Dynamic.cs.zip 尽管还整理的不够到位

(错误提示口胡和编译经过) 乂D


好吧, 原来dbLinq项目里也有 这玩意 , 用它吧, 较靠谱


这个月0博文消灭乂D

标签: 软件开发 C# 数据库 mono LINQ

评论(0) 引用(0) 浏览(2091)

令人抓狂的糟糕代码

作者:V君 发布于:2014-5-13 15:19 Tuesday 分类:填坑经验

今天被安排修一个旧项目的BUG(或变更)

啊啊 又要面对前人的邋遢代码了, 是在受不了, 贴出来一起挂人吧 

阅读全文>>

标签: 软件开发 C# 代码质量

评论(6) 引用(0) 浏览(1907)

Powered by emlog 去你妹的备案 sitemap