草庐IT

DLL_EXPORT

全部标签

c# - 如何获取当前执行的DLL的位置?

我有一个配置文件,我需要加载它作为我正在编写的dll执行的一部分。我遇到的问题是我放置dll和配置文件的位置不是应用程序运行时的“当前位置”。比如我把dll和xml文件放在这里:D:\ProgramFiles\MicrosoftTeamFoundationServer2010\ApplicationTier\WebServices\bin\Plugins但是如果我尝试像这样引用xml文件(在我的dll中):XDocumentdoc=XDocument.Load(@".\AggregatorItems.xml")然后.\AggregatorItems.xml转换为:C:\windows\

c# - 在运行时在 C# 中加载 DLL

我正在尝试了解如何在运行时在C#应用程序中导入和使用.dll。使用Assembly.LoadFile()我已经设法让我的程序加载dll(这部分肯定有效,因为我能够使用ToString()获取类的名称),但是我无法使用“输出”来self的控制台应用程序内部的方法。我正在编译.dll,然后将其移动到我的控制台项目中。在CreateInstance和能够使用这些方法之间是否有额外的步骤?这是我的DLL中的类:namespaceDLL{usingSystem;publicclassClass1{publicvoidOutput(strings){Console.WriteLine(s);}}}

c# - 在 VB.NET 或 C# 中使用 itextsharp dll 阅读 PDF 内容

如何使用带有Pdfreader类的itextsharp阅读PDF内容。我的PDF可能包含纯文本或文本图像。 最佳答案 usingiTextSharp.text.pdf;usingiTextSharp.text.pdf.parser;usingSystem.IO;publicstringReadPdfFile(stringfileName){StringBuildertext=newStringBuilder();if(File.Exists(fileName)){PdfReaderpdfReader=newPdfReader(fil

c# - 错误 CS0433 "Type ' X' already exists in both A.dll and B.dll "来自哪里?

当我使用内部Web服务器(不是IIS)从VisualStudio2008SP1运行Web应用程序时,我收到上述错误。完整错误(源文件Default.aspx.cs):CompilerErrorMessage:CS0433:Thetype'WebApplication3.Site1'existsinboth'c:\Windows\Microsoft.NET\Framework\v2.0.50727\TemporaryASP.NETFiles\root\aa563bcf\59deedc0\App_Web_site1.master.cdcab7d2.muczzy9v.dll'and'c:\W

c# - 如何在 GAC 中注册 .NET DLL 文件?

我制作了一个.NET.DLL文件,我想在GAC中注册它.我在WindowsServer2003中使用过这个命令命令提示符:C:\"Pathofdll"\>gacutil/idllname.dll'gacutil'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.它说路径不正确。我需要在.NETcmd提示符下使用它吗?如果是这样,我将无法找到.NETcmd提示符。 最佳答案 您可以使用gacutil来做到这一点工具。最简单的形式:gacuti

c# - 将非托管 dll 嵌入托管 C# dll

我有一个托管C#dll,它使用一个使用DLLImport的非托管C++dll。一切都很好。但是,我想将该非托管DLL嵌入到我的托管DLL中,正如Microsoft在此处所解释的那样:http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx所以我将非托管dll文件添加到我的托管dll项目中,将属性设置为“嵌入式资源”并将DLLImport修改为如下内容:[DllImport("UnmanagedDriver.dll,Wr

c# - 如何查找 native DLL 文件是编译为 x64 还是 x86?

我想确定托管代码应用程序(C#)中的native程序集是编译为x64还是x86。我认为它一定在PEheader中的某处,因为操作系统加载程序需要知道此信息,但我找不到它。当然,我更喜欢在托管代码中执行此操作,但如果有必要,我可以使用nativeC++。 最佳答案 您可以使用DUMPBIN也。使用/headers或/all标志及其列出的第一个文件头。dumpbin/headerscv210.dll64位Microsoft(R)COFF/PEDumperVersion10.00.30319.01Copyright(C)Microsoft

c# - 以编程方式获取 DLL 的版本号

是否可以从任何.NETDLL中以编程方式获取版本号?如果是,怎么办? 最佳答案 如果dll是.net或Win32,这会起作用。反射方法仅在dll为.net时有效。另外,如果你使用反射,你就有将整个dll加载到内存中的开销。以下方法不会将程序集加载到内存中。//Getthefileversion.FileVersionInfomyFileVersionInfo=FileVersionInfo.GetVersionInfo(@"C:\MyAssembly.dll");//Printthefilenameandversionnumber.

c# - 相当于库 (DLL) 的 'app.config'

对于库(DLL)是否有等同于app.config的东西?如果没有,存储特定于库的配置设置的最简单方法是什么?请考虑该库可能用于不同的应用程序。 最佳答案 您可以有单独的配置文件,但您必须“手动”阅读它,ConfigurationManager.AppSettings["key"]将只读取正在运行的程序集的配置。假设您使用VisualStudio作为IDE,您可以右键单击所需的项目→添加→新项目→应用程序配置文件这将添加App.config到项目文件夹,将您的设置放在下部分。如果您不使用VisualStudio并手动添加文件,请确保为

c# - 依赖 DLL 未被复制到 Visual Studio 中的构建输出文件夹

我有一个visualstudio解决方案。我在解决方案中有很多项目。有一个主要项目作为启动并使用其他项目。有一个项目说“ProjectX”。它的引用被添加到主项目中。ProjectX引用了另一个不属于解决方案的.NETdll(比如abc.dll)。现在应该将这个abc.dll复制到主项目的bin/debug文件夹中,但它没有被复制到那里。为什么它没有被复制,有任何已知的原因吗? 最佳答案 我发现如果ProjectX引用了abc.dll但没有直接使用abc.dll中定义的任何类型,那么abc.dll将不会被复制到主输出文件夹。(它将被