dllnet版本|怎么知道dll文件是哪个net版本

|

① 如何让.net程序能够兼容不同版本的DLL文件

a程序不能修改,并且一定要用, 就只能按a程序来。你先看看a引用哪个名称的 x,y 不报错,就把b的引用设置成一样的,安装的时候,判断系统是多少位的,选取对应的dll以后 ,把dll名称改成a引用的那些。

② 如何从一个已知exe或者dll文件中获得此文件编译时使用的.NET版本,如3.5或4.0或2.0,并将其显示

只是看过用refector工具,可以查看,导出来,倒没弄过,

③ 怎么在本地上看Microsoft.NETFramework版本和asp.net版本。怎么办

"1.关于.NETFramework的版本最容易的方法,可以看一下你的X:\Windows\Microsoft.NET\Framwrork下的子文件夹。各个文件夹以版本号命名。假如里边有几十到上百个dll文件,说明你安装了这个版本,假如仅有少数几个dll和其他文件,说明没安装这个版本。2.ASP.NET的版本,在你的IIS管理器中可以看。IIS5和IIS6在网站属性中有1个ASP.NET选项卡,里边可以切换版本。注意,ASP.NET3.0和3.5用的是2.0的运行时,只需要有ASP.NET2.0并且安装了.NET3.5或3.0的库就可以3.假如你安装了VisualStudio,会默认给你安装以下.NET版本:VisualStudio.NET→.NETFramwork1.0VisualStudio.NET2003→.NETFramwork1.1VisualStudio2005→.NETFramwork2.0VisualStudio2008→.NETFramwork3.5VisualStudio2010→.NETFramwork4另外,WindowsXP默认不安装.NETFramework,WindowsServer2003自带1.1版本,WindowsVista和WindowsServer2008自带3.0版本,Windows7和WindowsServer2008R2自带3.5SP1"

④ 怎么知道dll文件是哪个net版本

有时候经常需要查看.dll所使用的.net版本, 因为根本不知道它是使用了1.1还是2.0, 或者是3.0, 这个时候如果需要打开.net那又太麻烦, 所以经过长久的摸索, 我找到了一个比较简便的方法.就是SDK自带的ildasm.exe工具, 这是一个反编译工具, 可以查看编译好后的dll的文件.如果你的vs.net安装在D盘, 那这个文件一般在 D:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin 这个文件夹下.双击ildasm.exe, 把你要识别的.dll文件拖进来, 就会反编译了. 接着在ildasm里, 双击第一行的MANIFEST, 前面五行会类似如下显示, 注意一定要是mscorlib.assembly extern mscorlib{ .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z/V.4.. .ver 1:0:5000:0}当你看到.ver 1:0:5000:0, 证明它是在.net1.1的版本下编译的; 如果看到的是.ver 2:0:0:0, 证明它是.net2.0版本下编译的

⑤ C# 如果判断一个dll程序集依赖的.NET版本

如果你只是想知道 DLL 是用那个版本的 .NET 用 .net reflector 就行!~但你要是 用 代码 判断,就不知道了!你可以试试 反射!· 看看行不行!

⑥ 星际争霸2battle.net.dll版本太低或被其他软件替换

LZ您好我用的是uuu9星际2超级助手,一般出现此问题就是您的SC2版本过低,建议升级打开你的STARCRAFT2的LAUNCHER,会自动更新,现在的版本是V0.14你看看你的是多少O(∩_∩)O~最后如果您玩的是单机版,建议更新到V0.10,因为目前超级助手只破解到V0.10,此外从10到14将近白白占用3G左右内存,如果您开通了战网,那就一直更新吧,回答完毕

⑦ 如何net中的dll文件

使用csc命令将.cs文件编译成.dll的过程很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下:打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322目录下)csc命令的方式很多,请参考以下译File.cs 以产生 File.execsc File.cs 编译 File.cs 以产生 File.dllcsc /target:library File.cs 编译 File.cs 并创建 My.execsc /out:My.exe File.cs 通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.execsc /define:DEBUG /optimize /out:File2.exe *.cs 编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs 将当前目录中所有的 C# 文件编译为Something.xyz(一个 DLL)csc /target:library /out:Something.xyz *.cs 编译 File.cs 以产生 File.dllcsc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是 csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里举例(摘于网络)一、 动态链接库 什么是动态链接库?DLL三个字母对于你来说一定很熟悉吧,它是Dynamic Link Library 的缩写形式,动态链接库(DLL) 是作为共享函数库的可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。 和大多数程序员一样,你一定很使用过DLL吧。也曾感受到它的带给你程序设计和编码上的好错吧今天我想和大家探讨一个主题:如何在C#创建和调用DLL(动态链接库), 其实在很大意义上而讲,DLL让我更灵活的组织编写我们的应用程序,作为软件设计者,可一个根据它来达到很高的代码重用效果。下面我来介绍一下在C#中如何创建和调用DLL。二、准备工作 我们需要对我们接下来要做的事情做个简单的介绍,在本文我们将利用C#语言创建一个名为 MyDLL.DLL的动态链接库,在这个动态链接库文件中我们将提供两个功能一个是对两个参数交换他们的值,另一个功能是求两个参数的最大公约数。然后创建一个应用程序使用这个DLL。运行并输出结果。三、创建DLL让我们创建以下三个C#代码文件:1、 MySwap.csview plain to clipboardprint?//该语句不要加入到程序中using System; namespace MyMethods { public class SwapClass { public static bool Swap(ref long i,ref long j) { i = i+j; j = i-j; i = i-j; return true; } } }2、MyMaxCD.csview plain to clipboardprint?//该语句不要加入到程序中using System; namespace MyMethods { public class MaxCDClass { public static long MaxCD(long i, long j) { long a,b,temp; if(i>j) { a = i; b = j; } else { b = i; a = j; } temp = a % b; while(temp!=0) { a = b; b = temp; temp = a % b; } return b; } } } 需要注意的是:我们在制作这两个文件的时候可以用Visual Studio.NET或者其他的文本编辑器,就算是记事本也可以。这两个文件虽然不在同一个文件里面,但是他们是属于同一个namespace(名称空间)这对以后我们使用这两个方法提供了方便。当然他们也可以属于不同的名称空间,这是完全可以的,但只是在我们应用他们的时候就需要引用两个不同的名称空间,所以作者建议还是写在一个名称空间下面比较好。 接下来的任务是把这两个cs文件变成我们需要的DLL文件。方法是这样的:在安装了Microsoft.NET Framework的操作系统上,我们可以在Windows所在目录下找到Microsoft.NET目录。在这个目录下面提供了C#的编译器,CSC.EXE运行:csc /target:library /out:MyDLL.DLL MySwap.cs MyMaxCD.cs,完成后可在本目录下面找到我们刚才生成的MyDLL.DLL文件/target:library 编译器选项通知编译器输出 DLL 文件而不是 EXE 文件。后跟文件名的 /out 编译器选项用于指定 DLL 文件名。如果/out后面不跟文件名编译器使用第一个文件 (MySwap.cs) 作为 DLL 文件名。生成的文件为MySwap.DLL文件。 OK!我们创建动态链接库文件的任务完成了,现在是我们享受劳动成果的时候了,下面我将介绍如何使用我们所创建的动态链接库文件。 四、使用DLL 我们简单写一个小程序来测试一下我们刚才写的两个方法是否正确,好吧,跟我来:MyClient.csview plain to clipboardprint?//该语句不要加入到程序中using System; using MyMethods; //这里我们引用刚才定义的名称空间,如果刚才的两个文件我们写在两个不同的名称空间 class MyClient { public static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("Usage: MyClient <num1> <num2>"); return; } long num1 = long.Parse(args[0]); long num2 = long.Parse(args[1]); SwapClass.Swap(ref num1,ref num2); // 请注意,文件开头的 using 指令使您得以在编译时使用未限定的类名来引用 DLL 方法 Console.WriteLine("The result of swap is num1 = {0} and num2 ={1}",num1, num2); long maxcd = MaxCDClass.MaxCD(num1,num2); Console.WriteLine("The MaxCD of {0} and {1} is {2}",num1, num2, maxcd); } }若要生成可执行文件 MyClient.exe,请使用以下命令行:csc /out:MyClient.exe /reference:MyLibrary.DLL MyClient.cs/out 编译器选项通知编译器输出 EXE 文件并且指定输出文件名 (MyClient.exe)。/reference 编译器选项指定该程序所引用的 DLL 文件。五、执行若要运行程序,请输入 EXE 文件的名称,文件名的后面跟两个数字,例如:MyClient 123 456六、输出The result of swap is num1 = 456 and num2 = 123The MaxCD of 456 and 123 is 3七、小结动态链接具有下列优点: 1、节省内存和减少交换操作。很多进程可以同时使用一个 DLL,在内存中共享该 DLL 的一个副本。相反,对于每个用静态链接库生成的应用程序,Windows 必须在内存中加载库代码的一个副本。 2、节省磁盘空间。许多应用程序可在磁盘上共享 DLL 的一个副本。相反,每个用静态链接库生成的应用程序均具有作为单独的副本链接到其可执行图像中的库代码。 3、升级到 DLL 更为容易。DLL 中的函数更改时,只要函数的参数和返回值没有更改,就不需重新编译或重新链接使用它们的应用程序。相反,静态链接的对象代码要求在函数更改时重新链接应用程序。 4、提供售后支持。例如,可修改显示器驱动程序 DLL 以支持当初交付应用程序时不可用的显示器。 5、支持多语言程序。只要程序遵循函数的调用约定,用不同编程语言编写的程序就可以调用相同的 DLL 函数。程序与 DLL 函数在下列方面必须是兼容的:函数期望其参数被推送到堆栈上的顺序,是函数还是应用程序负责清理堆栈,以及寄存器中是否传递了任何参数。 6、提供了扩展 MFC 库类的机制。可以从现有 MFC 类派生类,并将它们放到 MFC 扩展 DLL 中供 MFC 应用程序使用。 7、使国际版本的创建轻松完成。通过将资源放到 DLL 中,创建应用程序的国际版本变得容易得多。可将用于应用程序的每个语言版本的字符串放到单独的 DLL 资源文件中,并使不同的语言版本加载合适的资源。 使用DLL 的一个潜在缺点是应用程序不是独立的;它取决于是否存在单独的 DLL 模块

⑧ C#导入dll时,出现警告:x.dll或它的某个依赖项要求的.NET Framework版本比项目中指定的版本高,如何解决

解决方法有2个:1、重新生成一个与该项目的.NET Framework版本相同或比它低版本的dll,然后再将新生成的dll导入该项目;2、新建一个与当前dll相同版本.NET Framework的项目,将现有项目内容拷贝到新项目里,一般只需更改文件名和命名空间就可以在新项目里使用了,然后再把当前dll导入新项目。满意请采纳,谢谢!

⑨ 怎么查看dll是32位还是64位

首先,我们在开始菜单的应用列表中找到Visual Studio的文件夹,打开其中的VS开发人员命令提示符。通过VS命令提示符中的CorFlags命令可以查看.NET版的dll的位数,查询命令是:corflags+dll的路径。在查询结果中如果32BITREQ的值为0表示dll是64位,1表示dll是32位。通过VS命令提示符中的mpbin命令可以查看.net和非.net的dll的位数,查询命令是:mpbin /headers C:\Temp\Oracle.DataAccess.dll。在查询结果中,如果FILE HEADER VALUES中有32 bit word machine的值,表示dll是32位。

⑩ 怎么知道一个dll文件的.NETFRAMEWORK版本

只要你安装.net framework是装在默认目录下, 其实在各自版本命名的目录中, 随便抓一个.dll文件查看属性-版本信息, 都与他外部目录名称的版本号一致的。


赞 (0)