Tag: dll

使用参数动态调用dll和方法

基本上我试图通过名称调用一个DLL,实例化一个对象,然后在该DLL中按名称调用一个方法。 我得到了一个“调用目标引发了exception。” 在Method.Invoke期间。 我很确定我的问题是对方法的参数进行类型转换。 我想知道是否有人对此exception有任何意见。 此外,欢迎任何有关如何修改我的方法的建议。 public void calldll(string dllName, string typeName, string methodName, string arguments) { string[] argumentArray = arguments.Split(new char[] { ‘|’ }, StringSplitOptions.None); Assembly assembly = Assembly.LoadFrom(dllName); System.Type type = assembly.GetType(typeName); Object o = Activator.CreateInstance(type); MethodInfo method = type.GetMethod(methodName); ParameterInfo[] parameters = method.GetParameters(); object[] methodParameters = new object[parameters.GetLength(0)]; for (int i = […]

我可以在.NET中创建常规的Windows DLL(用于插件)吗?

我正在尝试为程序创建一个插件。 该程序通过加载您的插件DLL并在该DLL中执行特定命名的函数来工作。 很标准的东西。 但是,我想用C#创建我的插件(我有点新手)。 我的问题是,我可以从C#导出常规C类函数吗? 或者我如何轻松创建存根来做到这一点? 到目前为止谷歌一直没有帮助。

将C ++移植(非托管)到C#与在C#应用程序中使用C ++作为DLL

我有一个用简单的旧C ++(没有.NET /托管代码)编写的代码库,我正在将使用此代码的应用程序移植到C#。 我面临两个选择: 用C#重写C ++代码以实现相同的function; 将C ++编译为DLL并将其用作C#应用程序中的库。 我对C#比较陌生,并且对在C#应用程序中使用非托管代码库(或者甚至有任何代码库)的含义非常不熟悉。 代码本身大小适中; 在C#中重写可能只需要几天时间,但我的想法是将代码保留为允许我在其他应用程序中使用它(并在UNIX上编译它等)。 在做出这个决定时,我应该注意哪些事情? 在C#应用程序中使用DLL有任何重大缺点或缺陷吗?

命名实体识别是否有任何c#库?

我正在寻找c#或任何其他.net语言中的命名实体识别的任何免费库。

.dll文件无法访问

我想在我的项目中添加一个dll。 当我做“添加引用”并尝试添加它时,它告诉我: “无法添加对…的引用。请确保该文件可访问,并且它是有效的程序集或COM组件”。 顺便说一句,我正在尝试添加g729.dll 我该如何添加dll?

DLL中没有可以放在工具箱上的组件

我有一个DatePicker自定义控件,我试图添加到工具箱。 该文件的名称是BasicFrame.WebControls.BasicDatePicker.dll ,我在“工具箱”>“选择项目”中右键单击,然后在.NET Framework组件下浏览到该文件后选择该文件。 但是我收到此错误消息: 其中没有任何组件可以放在工具箱上 为什么我会收到此消息,如何解决?

如何找到取决于特定依赖项的特定版本的内容?

我在运行应用程序时遇到此错误(不是在编译时): 无法加载文件或程序集’Castle.Windsor,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 我的解决方案有许多项目,尽可能使用项目引用,但其中一些项目具有对外部依赖项的程序集引用。 如何轻松找出哪个项目正在寻找这个特定版本的Castle.Windsor.dll ? 我没有那个版本,我试图使用2.5.2(最新),所以我想找到罪魁祸首并更新它以使用最新版本。 提前谢谢了。 UPDATE 我在下面添加了一个已经过消毒的Fusion日志。 它似乎在告诉我, Caliburn.Castle需要Castle.Windsor, Version=2.1.0.0 (这将是一个错误,因为我使用2.5),但Fusion程序集探测实际上找到了Castle.Windsor, Version=2.5.1.0代替。 我理解正确吗? === Pre-bind state information === LOG: User = Barney\neil LOG: DisplayName = Castle.Windsor, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc (Fully-specified) LOG: Appbase = file:///[Debug folder of my exe] LOG: Initial PrivatePath = NULL LOG: Dynamic […]

ActiveX DLL错误

好的,虽然我从未想过在2012年我会编写我的第一个ActiveX控件(是的,这是有充分理由的)我正在努力让它在Windows 7(x64)下运行。 解决方案简短的故事:我从一些我的regasm调用中丢失了/ codebase,并且混合了32位和64位进程,但标准的VS2010命令提示符混合使用regasm和cscript的32位和64位路径没有帮助。 长篇故事如下: 我一直在弹跳 使用C#在.Net中创建ActiveX控件 ( 哎呀我有错误的链接..虽然看起来我最初提供的链接是有人复制原始博客页面) 使用C#在.Net中创建ActiveX控件 和 C#ActiveX控件(CSActiveX) 我似乎正在成功构建项目(对于后者,我必须将资源编译器位置更改为正确的位置)。 对于我使用建议的安装程序的第一个项目,对于第二个项目,我试图直接使用regasm。 但在此之后,一切都在下山。 我尝试注册所有的,但要么: 我不知道我应该如何注册它们,或者: 我不知道我应该如何注册它们。 我的测试用例是一个包含的简单JScript文件 var x = new ActiveXObject( “name of object” ); 哪个失败了,错误: test.js(1,1)Microsoft JScript运行时错误:Automation Server无法创建对象 我不确定这是一个权限问题,还是32对64位问题或组合。 许多提供ActiveX帮助的网站假设您将通过网页访问它,所以我尝试查看IE权限(即使我想将控件加载到第三方程序中)。 我知道如果我使用’framework’或’framework64’版本的regasm我可以控制注册表项中的位置 – 我已经看到一些引用运行cscript作为32位或64位(这可能会影响到搜索注册表)取决于调用的cmd shell(我尝试了两种方式,以及尝试“管理员”shell)。 所以基本上在这一点上我不知道我在做什么或者我应该做什么。 我的目标是在Windows 7 x64上注册ActiveX控件,并使其能够通过以下方式加载: 从默认Windows命令提示符运行的测试.js脚本 将相同的控件加载到Excel 2007 VBA之类的内容(仅用于测试) 将控件加载到第三方应用程序(来自Rockwell的RSView Studio)并将其托管在VBA应用程序中(我需要检查这是32位还是64位程序..我怀疑前者) 笔记 对于使用安装程序的项目(使用C#在.Net中创建ActiveX控件),它将代码安装到“c:\ program Files(x86)\”中,并使用regedit查找“Computer \ HKEY_CLASSES_ROOT \ […]

在Visual Studio中使用NLog设置多个项目的C#解决方案

我在Visual Studio 2012中的解决方案目前包含两个项目: DLL WPF应用程序(需要DLL的方法) DLL和WPF应用程序都使用NLog进行日志记录。 目前,每个项目都包含NLog DLL本身。 这是我不明白的: 我似乎没有必要在每个项目中包含相同的NLog DLL。 但是,DLL应该可以在其他解决方案中重用,也就是说, NLog DLL必须以某种方式包含在DLL项目中。 什么是设置Visual Studio解决方案和/或项目的适当方法?

DLL版本控制错误

我有一个偶尔会抛出以下错误的网站: ‘/’应用程序中的服务器错误。 无法加载文件或程序集’ICSharpCode.SharpZipLib,Version = 0.85.3.365,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 现在我知道我确实依赖于这个DLL,但我的系统上有0.85.5版本。 我已经从服务器系统地删除了每个旧版本的DLL,重新编译了所有内容并重新发布。 但无论我做什么,似乎每次重新发布后,有人访问该网站的前一两次,他们都会收到此错误。 然后刷新一次或两次后,错误消失,网站正常运行。 让我更奇怪的是,如果我查看抛出错误的代码行: URLRewriter.ProcessRewritingResult(status, excludedEnum, siteName, viewMode, relativePath); URLRewriter是来自第三方软件包( Kentico CMS – CMS.URLRewritingEngine.dll)的类。 我在该DLL上运行了Dependency Walker,并且在ICSharpCode.SharpZipLib上找不到任何依赖项。 任何想法如何解决这一问题? 编辑:在@ JeremyThompson的建议下,我运行了Process Monitor来捕获错误。 这是一个屏幕转储,突出显示相关部分(出于隐私原因,一个文件夹名称被隐藏)。 您可以通过右键单击它来查看它的完整大小等… 编辑:这是错误的负载跟踪。 这有帮助吗? ===预绑定状态信息=== 日志:用户= MY-SERVER-12 \管理员 日志:DisplayName = ICSharpCode.SharpZipLib,Version = 0.85.3.365,Culture = neutral,PublicKeyToken = 1b03e6acf1164f73(完全指定) 日志:Appbase = file:/// C:/ inetpub / […]