一码屏穿

导航

统计

公告

2012年1月13日 #

vs2010显示"未能完成操作。ClassFactory 无法供应请求的类"的错误及解决方法

VS2010碰到奇怪错误:

在VS2010中打开项目,以及添加现有项目时候会显示一个如下的错误信息

The operation could not be completed. ClassFactory cannot supply requested class

"未能完成操作。ClassFactory 无法供应请求的类"的错误及解决方法

 

查了一个下午,把VS2010+SP1重新安装,以及把OS系统还原都不顶事儿。

最后在stackoverflow找到了答案

原来是vs2010启动程序的属性选项中的[兼容性]的[禁用视觉主题]给打上了钩子。

 

解决方法:

如上图所示,把属性中的[禁用视觉主题]设置为False,然后重新启动VS2010。

 

这类错误比较稀少,一旦发生处理起来还是比较麻烦的。

相关信息链接:

http://stackoverflow.com/questions/1890806/the-operation-could-not-be-completed-classfactory-cannot-supply-requested-class

 


 

posted @ 2012-01-13 01:32 一码屏穿 阅读(327) 评论(0) 编辑

2012年1月12日 #

读书笔记-《LINQ to Objects Using C#4.0》(2)

第二章 LINQ to Objects 介绍

语言的增强

  从C#3.0开始,逐步引入了许多新的构造,这些构造改善了开发的编码体验。而,所有这些新的语法构造几乎都与LINQ有着这样那样的联系。这些新特点主要可以分为2大类。第一类是一系列编译器语法增强来简化一些共通的代码结构,第二类的特点是改变了方法名称在编译过程中解析的方式。

  如果要理解LINQ to Objects是如何编译的,那就有必要了解上面说到的C#3.0中心的语言特点。这一章会做一个简短的介绍,在后面的章节中还会深入。

扩展方法(Extension Methods)

对象初始化器(Object Initializers)

集合初始化器(Collection Initializers)

隐式类型局部变量(Implicitly Typed Local Variables)

匿名类型(Anonymous Types)

Lambda表达式(Lambda Expressions)

查询表达式(Query Expressions)

 

上一章


 

posted @ 2012-01-12 23:46 一码屏穿 阅读(168) 评论(0) 编辑

2012年1月11日 #

读书笔记-《LINQ to Objects Using C#4.0》(1)

园子里面看到关于LINQ的文章比较少,所以想做一个系列,大家一起学习下如何使用LINQ to Objects。

这里博主正在阅读的是Troy  Magennis写的《LINQ to Objects Using C#4.0》

本系列文章,提供该书内容的精简。

 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

第一章 LINQ 介绍

   什么是LINQ?

     Language Integrated query(直译为语言集成查询) 读作 link(零克,是不是很轻的感觉呢^^)

LINQ是微软新推出的增强功能,用来处理一些数据。LINQ在.NET语言和各种数据源之间提供了一层编码抽象。

推出LINQ,其中一个目的是减少代码的复杂度和增强代码的阅读性。LINQ是开放的、可扩展的。

从.NET3.5开始支持LINQ,并在.NET4中进一步扩展。

   涵盖的点

   标准查询操作表(.net4)

操作类型

标准查询操作名

Aggregation

Aggregate, Average, Count, LongCount, Max, Min, Sum

Conversion

AsEnumerable, Cast, OfType, ToArray, ToDictionary, ToList, ToLookup

Element

DefaultIfEmpty, ElementAt, ElementAtOrDefault, First,
FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault

Equality

SequenceEqual

Generation

Empty, Range, Repeat

Grouping

GroupBy, ToLookup

Joining

GroupJoin, Join

Merging

Zip

Ordering

OrderBy, ThenBy, OrderByDescending, ThenByDescending, Reverse

Projection

Select, SelectMany

Partitioning

Skip, SkipWhile, Take, TakeWhile 

Quantifiers

All, Any, Contains

Restriction

Distinct, Where

Set

Concat, Except, Intersect, Union

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

下一章


posted @ 2012-01-11 02:58 一码屏穿 阅读(121) 评论(0) 编辑

2012年1月8日 #

ThreadStatic特性简介

ThreadStaticAttribute

在程序中,类的静态成员变量(c#:static;vb:shared),在使用时,会在该类的多个实例之间共享。

在多线程场合下,也不例外。有些读者或许会想到如何创建每个线程自己的静态变量呢,这里ThreadStaticAttribute就提供了一种十分简单的方法。

可以通过追加自定义特性“c#:[ThreadStatic];vb:<ThreadStatic>”的方法来实现。

具体可以参照下面的例子:

    class Program
{
static void Main(string[] args)
{

Thread t1 = new Thread(new ThreadStart(ThreadProc));
Thread t2 = new Thread(new ThreadStart(ThreadProc));
t1.Name = "Thread1";
t2.Name = "THread2";
t1.Start();
t2.Start();

Console.WriteLine("Press Enter key to exit...");
Console.ReadLine();
}

[ThreadStatic]
static int ThreadStaticValue;
static int StaticValue;

static Random r = new Random();

public static void ThreadProc()
{
StaticValue = ThreadStaticValue = r.Next(1, 10);
while(true)
{
if (Thread.CurrentThread.Name == "Thread1")
{
StaticValue++;
ThreadStaticValue++;
}
Console.WriteLine("{0}: ThreadStatic:{1}; Static:{2}", Thread.CurrentThread.Name, ThreadStaticValue, StaticValue);
Thread.Sleep(500);
}
}

}

可以看到,代码中定义了两个静态变量,一个是被ThreadStatic特性修饰的ThreadStaticValue变量,还有一个就是一般的静态变量。

我们在程序中起了2个线程,用来查看实行的结果。

首先,我们使用随机数初始化了两个静态成员变量,然后线程1每过0.5秒把变量自增长1。

通过值的变化,我们就可以容易理解ThreadStatic的用途了。

 

参考资料:

msdn的说明

http://msdn.microsoft.com/en-us/library/system.threadstaticattribute.aspx


posted @ 2012-01-08 14:25 一码屏穿 阅读(104) 评论(0) 编辑

2011年12月23日 #

WIN7下IIS7配置WCF发生Error 500.21 附 解决方法

今天同事的电脑上配置WCF时候发生了error 500.21的错误,据说这是一种常见的错误。

  详细:WCF - Error 500.21 Handler "svc-Integrated" has a bad module "ManagedPipelineHandler" in its module list"

       

当选择承载方式为Http的Web应用的方式来承载时候,这种承载方式需要依赖asp.net的相关模块。

解决方法:

1. Open Visual Studio Command Prompt

2. Input:aspnet_regiis.exe -iru

3. Run the command

这个问题通常发生在先装visualstudio后装IIS的WCF HTTP 激活模块,

如果先装IIS后装visualstudio则不会发生这个问题。


posted @ 2011-12-23 00:08 一码屏穿 阅读(138) 评论(0) 编辑

仅列出标题