Tag: dll

我如何find一个特定的DLL的PublicKeyToken?

我需要在我的web.config文件中重新创build一个提供程序,如下所示: <membership defaultProvider="AspNetSqlMemProvider"> <providers> <clear/> <add connectionStringName="TRAQDBConnectionString" applicationName="TRAQ" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" name="AspNetSqlMemProvider" type="System.Web.Security.SqlMembershipProvider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> </providers> </membership> 然而,我得到一个运行时错误,说这个程序集无法加载,我认为这是因为我有错误的PublicKeyToken。 我如何查找我的程序集的PublicKeyToken? 另外,我是否完全用这个错误的方式?

等效于库(DLL)的“app.config”

是否有一个相当于库(DLL)的app.config ? 如果不是,存储特定于库的configuration设置最简单的方法是什么? 请考虑图书馆可能会用于不同的应用程序。

部分类在单独的dll中

是否有可能有两个部分(相同的命名空间,相同的类名称)在不同的DLL分部类?

DLL和LIB文件 – 什么和为什么?

我对DLL和LIB知之甚less,除了它们包含程序正常运行所需的重要代码 – 库。 但为什么编译器生成它们呢? 把所有的代码包含在单个可执行文件中是不是更容易? DLL和LIB有什么区别?

所请求的操作不能在打开了用户映射部分的文件上执行

每当我试图将4个文件复制到我的bin文件夹,停止主要服务后,我得到一个文件(TexteDll)的错误。 错误是: Cannot copy TexteDll: The requested operation cannot be performed on a file with a user-mapped section open 这可能是由于一些系统locking。 或者也许另一个进程正在使用这个DLL。 当我GOOGLE时,我发现重新启动系统可能会解决这个问题。 有没有人可以为此提出一个原因或解决scheme? 我检查了TexteDll(一般,版本,安全等)的属性。 一切似乎正常。

PHP 7:缺lessVCRUNTIME140.dll

我在Windows上启动PHP 7时遇到错误。 当我在命令行上运行php时,它会返回一个系统错误消息框: 程序无法启动,因为您的计算机缺lessVCRUNTIME140.dll。 尝试重新安装程序来解决这个问题。 之后, CLI崩溃了。 由于我不想从外部网站安装DLL文件,我不知道如何解决这个问题! PHP版本: 7.0.0alpha1 VC14 x64线程安全

共享对象(.so),静态库(.a)和DLL(.so)之间的区别?

我参与了一些有关Linux的图书馆的辩论,并想确认一些事情。 这是我的理解(请纠正我,如果我错了,我会编辑我的post后),build立一个应用程序时有两种使用库的方式: 静态库(.a文件):在链接时,将整个库的副本放入最终应用程序,以便库中的函数始终可供调用应用程序使用 共享对象(.so文件):在链接时,只需通过相应的头文件(.h)对其API进行validation即可。 直到运行时才需要使用该库。 静态库的明显优势在于它允许整个应用程序是自包含的,而dynamic库的好处是可以replace“.so”文件(即:由于安全性需要更新错误),而不需要重新编译基础应用程序。 我听说有些人在共享对象和dynamic链接库(DLL)之间做了区分,尽pipe它们都是“.so”文件。 在Linux或任何其他符合POSIX标准的操作系统(例如:MINIX,UNIX,QNX等)上进行C / C ++开发时,共享对象和DLL之间是否有区别? 我被告知,一个关键的差异(到目前为止)是共享对象只是在运行时使用,而DLL必须首先使用应用程序中的dlopen()调用打开。 最后,我也听说一些开发人员提到“共享档案”,据我了解,这也是静态库本身,但从来没有被应用程序直接使用。 相反,其他静态库将链接到“共享归档”,以将共享归档中的一些(但不是全部)function/资源引入正在构build的静态库中。 预先感谢您的帮助。 更新 在向我提供这些条款的背景下,我发现了这些术语之间的细微差别,甚至可能只是我的行业中的俗语: 共享对象:程序启动时自动链接到程序的库,作为独立文件存在。 该库在编译时包含在链接列表中(例如,对于名为mylib.so的库文件,LDOPTS + = – lmylib)。 该库必须在编译时和应用程序启动时出现。 静态库(Static Library):在构build时将一个库合并到实际的程序本身中,用于包含应用程序代码的单个(较大的)应用程序,以及在构build该程序时自动链接到程序中的库代码,以及包含两者主程序和库本身作为一个独立的二进制文件存在。 该库在编译时包含在链接列表中(例如,对于名为mylib.a的库文件,LDOPTS + = – lmylib)。 库必须在编译时出现。 DLL:基本上与共享对象相同,但不是在编译时包含在链接列表中,而是通过dlopen() / dlsym()命令加载该库,以便该库不需要在构build时存在编译的程序。 此外,库不需要在应用程序启动或编译时出现(必然) ,因为只在调用dlopen / dlsym时才需要。 共享存档:基本上与静态库相同,但是使用“导出共享”和“-fPIC”标志进行编译。 该库在编译时包含在链接列表中(例如,对于名为mylib S .a的库文件,LDOPTS + = – lmylib S )。 两者之间的区别在于,如果共享对象或DLL想要将共享存档静态链接到其自己的代码中并且能够使共享对象中的function可用于其他程序,则不需要仅仅使用它们内部的DLL。 这在有人向您提供静态库的情况下非常有用,并且您希望将其重新打包为SO。 库必须在编译时出现。 其他更新 “ DLL […]

转储Windows DLL版本的命令行工具?

我需要一个命令行工具来转储标准的Windows DLL版本信息,所以我可以通过bash脚本(Cygwin)来处理它。 作为一名Java开发人员,我不太习惯于Microsoft开发工具(尽pipe我对Microsoft Visual C ++ 4.0和Microsoft Visual Basic 6.0有一点点经验)。 正如SO上所述,合适的工具似乎是mt.exe 。 但是,我发现获得这个小应用程序的唯一机会是下载Windows Server 2008和.NET Framework的Windows SDK 1.29 GB ISO。 我不能相信这是做到这一点的唯一方法。 我还在互联网上find了一个名叫PEView的应用程序,但是它显示的信息太多了(而且在我的情况下是无用的)信息,它不是一个命令行应用程序。 Cygwin中捆绑的标准objdump也可以转储有关DLL文件的一些信息,但是我看不到转储DLL版本的选项。 请注意,MajorImageVersion,MinorImageVersion和这个工具(使用-p选项)转储的其他字段与自己的DLL版本无关。 有什么办法可以做什么? 也许我错过了一些重要的objdump选项? mt.exe是我唯一的select吗? 如果是这种情况,是否可以从Windows SDK中单独获取?

如何使Visual Studio将DLL文件复制到输出目录?

我有一个Visual Studio C ++项目依赖于外部DLL文件。 我怎样才能使Visual Studio复制这个DLL文件自动到输出目录(debugging/释放),当我build立项目?

在Windows XP上安装JDK8 – advapi32.dll错误

我下载了JDK8 build b121,并尝试安装时出现以下错误: 过程入口点RegDeleteKeyExA不能位于dynamic链接库ADVAPI32.dll中 操作系统是Windows XP,版本2002 Service Pack 3,32位。