Sends for the fellow dear visitors:welcome to dongpad!


 Welcome to DongPad!

 msn


| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 预览模式: 普通 | 列表

depends.exe & dumpbin.exe

This Article is Published by Live Writer。

1.vc自带的工具depends.exe可以查看exe或dll依赖哪些dll的工具。通常情况下,自己编写的程序要依赖系统或其他软件的各种dll文件,如果在另一台电脑上没有这些文件程序运行就会报错。VS的depends.exe工具能够帮我们找到依赖文件的名称路径等。一般depends.exe位置在“D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\depends.exe ”

2.dumpbin.exe是visual studio中带的工具,可以查看二进制文件的信息,其中就可以用来查看一个程序依赖的dll:

dumpbin.exe /dependents

其位置一般在“C:\Program Files\Microsoft Visual Studio 8\VC\bin\dumpbin.exe”。

3.另外推荐一个Process Explorer ,它可以显示有关进程已打开或加载哪些句柄和 DLL 的信息。链接在这里

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 725 | 返回顶部

How to make XmlnsDefinition work on the local assembly?

This Article is Published by Live Writer。

track @ http://stackoverflow.com/questions/2760504/how-to-make-xmlnsdefinition-work-on-the-local-assembly

Q:

I've started using the XmlnsDefinition attribute to tie together some CLR namespaces into a single xmlns for convenience in XAML.

Unfortunately, it seems that this only works when using foreign assemblies. If I have a XAML file in the same assembly as the types that are in the namespace I'm referencing from XmlnsDefinition, then the compiler gives an error about the type not existing in the xmlns I am defining.

Moving the type to a foreign assembly fixes the problem.

Is there a way to use XmlnsDefinition on an assembly and have it be used from within that assembly via XAML?

A:

Unfortunately, no. The XAML file must be parsed before the assembly is built in order to generate the code implied by the XAML to be included in the assembly. The XAML compiler produces code behind files (the files ending in, for example, .g.cs) and these file then become part of the assembly the XAML file is contained in. Since the assembly hasn't been built yet, the XAML compiler cannot load it to determine XmlnsDeclaration attributes have been specified.

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 762 | 返回顶部

LINQ to SQL Debug Visualizer

http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx

how to install:

1.download a copy of it here

2.copy the assembly into your local \Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers directory.


Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 810 | 返回顶部

Isolated Storage in SL4

This Article is Published by Live Writer。

在Silverlight4中,默认应用程序存储配额是1MB=1024KB=1048576Bytes,可以在SL程序的右键菜单点击查看,如下图1:

如果要申请配额,可以在构造里检查存储配额然后执行一下代码,但要考虑到用户可能阻止该请求:

using (var store = IsolatedStorageFile.GetUserStoreForApplication())
{
    Int64 IsoQuota = store.Quota; //单位为bytes
    Int64 requestIsoQuota = 1000;
    if (store.IncreaseQuotaTo(IsoQuota +requestIsoQuota )) //增加到指定大小
    {
       //……
    }
}

执行上述代码将自动提示用户"是否要增加可用存储",结果如下图2:

为了保持默认的1MB默认存储,我们选择“否”以便于后面的测试,如果选择了“是”也没关系,我们可以在应用程序存储选项页中选择该程序删除网站对应的存储使其重新初始化到1MB。在上述代码中,我们请求增加的配额为1000bytes,但是提示请求的大小依然是默认的配额1MB,这里Silverlight是如何显示申请存储配额时请求的大小的呢?

经测试发现,Silverlight对请求的大小采用了小数点保留一位四舍五入的策略,上图的请求的大小实际上就是上述代码中(IsoQuota +requestIsoQuota)除以(1MB*1024*1024)四舍五入保留一位小数的结果。在默认配额情况下,如果请求的配额requestIsoQuota 小于0.05MB=52428.8bytes=52429时,提示请求到的存储大小的小数位将被忽略,但这并不影响实际的存储配额,提示请求的大小依然是1.0MB,如果requestIsoQuota大于或等于0.05MB=52428.8bytes(requestIsoQuota类型为Int64,即requestIsoQuota最小为52429时提示请求大小为1.1MB)将提示请求大小为1.1MB。这里我们可以来验证一下,将requestIsoQuota的值更改为52428,提示请求的大小为1.0M,选择“是”对其进行增加可用存储,然后将requestIsoQuota的值更改为1,这时候的提示是请求的大小为1.1M,这也就从侧面反映了显示出来的请求的大小并不影响实际的存储配额,虽然他们可能是不一致的。

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 1019 | 返回顶部

Difference between DataContext and ItemsSource in

DataContext is a general (dependency) property of all descendants of FrameworkElement. Is is inherited through the logical tree from parent to children and can be used as an implicit source for DataBinding. It does not do anything by itself, you must basically databind to it.

查看全部...

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 1218 | 返回顶部

Sequence Diagram RE, LINQ, and Lambdas

from:Skinner's Blog

本文主要介绍了VS2010特性之Sequence Diagram Reverse Engineering对LINQ和Lambdas的扩展

The Sequence Diagram Reverse Engineering feature available in Visual Studio 2010 allows you to create a UML 2.1 “like” diagram that represents your source code. I say “like” in the previous sentence because we use all the notation prescribed by the UML standard, but there are a few instances where we add some notation that is not found in the standard. Support for LINQ and Lambda expressions are examples of where we have extended the Combined Fragment notation to include what we have dubbed a “Deferred Call”.

Here’s a simple console application that I’ll use to show what I mean.

略……

查看全部...

Tags: DongPad

分类:C# | 固定链接 |评论: 2| 引用: 0 | 查看次数: 1273 | 返回顶部

C#编译器(csc.exe)搜索Dll的顺序

This Article is Published by Live Writer。

@CLR via C#2.0 P32
1.工作目录

2.编译器本身目录(PS:根据全局CSC.rsp文件的配置)

3./lib开关指定的目录

4.Lib环境变量指向的工作目录

现在,我们来做了一下尝试,在非编译器目录创建如下两个测试类,并对C1编译:

//C1.cs  @cmd prompt: csc /t:library C1.cs

public class C1
{
public string Name{get;set;}
public int Age{get;set;}
}

//Program.cs   @cmd prompt: csc /r:C1.dll  Program.cs

using System;
public class Program
{
static void Main()
{
C1 c1 = new C1{Name="Jack"};
Console.WriteLine(string.Format("c1's name is {0}",c1.Name));
Console.ReadKey();
}
}

1.编译Program时,由于我们指定的非绝对路径,所以搜索到Program的当前工作目录即结束,我们亦可尝试将C1.Dll剪切到其他工作目录,并指定完整路径进行编译。

2.将C1.dll剪切到csc工作目录C:\Windows\Microsoft.NET\Framework\v3.5(视具体环境而定),编译不通过,what r u doing?

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 1291 | 返回顶部

面向对象诠释图

This Article is Published by Live Writer。

from Tyl2008

Tags: DongPad

分类:C# | 固定链接 |评论: 0| 引用: 0 | 查看次数: 1088 | 返回顶部
The problem the user is seeing is that the Thread ctor accepts a specific delegate -- the ThreadStart delegate. The C# compiler will check and make sure your anonymous method matches the signature of the ThreadStart delegate and, if so, produces the proper code under-the-covers to create the ThreadStart delegate for you.
But Control.Invoke is typed as accepting a "Delegate". This means it can accept any delegate-derived type. The example above shows an anonymous method that has a void return type and takes no parameters. It's possible to have a number of delegate-derived types that match that signature (such as MethodInvoker and ThreadStart -- just as an example). Which specific delegate should the C# compiler use? There's no way for it to infer the exact delegate type so the compiler complains with an error.

Tags: System.Delegate

分类:C# | 固定链接 |评论: 1| 引用: 0 | 查看次数: 1171 | 返回顶部

推荐两个免费Visual Studio插件

This Article is Published by Live Writer。

文章原出处http://www.colobu.com,更多插件参见这里

5. Copy As HTML

http://www.lavernockenterprises.co.uk/downloads/copyashtml/copyashtml.aspx

Copy As HTML是一个轻量级的VS插件。你可以利用它在VS中以HTML格式复制你的代码。在复制时它可以保留语法加亮,缩进和背景色,行数等等,方便你复制你的代码到你的博客、文档中。

8. PowerCommands for Visual Studio 2008

http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=PowerCommands&ReleaseId=559

为VS提供了一堆的命令扩展。

Tags: DongPad

分类:C# | 固定链接 |评论: 1| 引用: 0 | 查看次数: 1257 | 返回顶部
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |