草庐IT

dll-injection

全部标签

c# - ActiveX DLL 错误

好吧,虽然我从没想过在2012年我会编写我的第一个ActiveX控件(是的,有一个很好的理由)我正在努力让它在Windows7(x64)下运行。解决方案短篇:我在一些regasm调用中丢失了/codebase并且还混合了32位和64位进程,但这并没有得到标准VS2010命令提示符混合regasm和cscript的32位和64位路径的帮助。长长的故事如下:我一直在跳动CreatinganActiveXcontrolin.NetusingC#(哎呀我有错误的链接..虽然看起来我最初提供的链接是有人复制了原始博客页面)CreatinganActiveXcontrolin.NetusingC#

c# - ASP.NET MVC 应用程序中的非托管 DLL 导致应用程序池在 IIS 服务器上停止

我的ASP.NETMVC应用程序使用用C++编写的非托管外部DLL。该网站在VisualStudio中运行良好,可以正确定位和访问外部DLL。但是,当网站在本地网络服务器(运行IIS7.5)而不是VisualStudioIISExpress上发布时,我收到以下错误:HTTPError503.Theserviceisunavailable.外部DLL位于网站的bin目录中。在查看IIS日志时,我注意到每次调用dll时defaultapppool都会停止。HTTP/1.1GET/Bio/Select/35031DisabledDefaultAppPool我尝试了以下方法:我将DLL放在Sy

c# - 使用 TypeConverter 进行依赖注入(inject)

我有一个正在设计的应用程序,它引用了一个我也在设计的库。具体来说,应用程序需要创建我的下层库中定义的Sheathing类的实例。[TypeConverter(typeof(SheathingOptionsConverter))]publicclassSheathing:Lumber{publicstringDescription{get;set;}publicSheathing(stringpassedDescription){Description=passedDescription;}}我的应用程序在属性网格中列出了不同的护套选项。因为它在下拉菜单中列出了它们,所以我不得不扩展Ex

c# - 在 asp.net c# 应用程序中使用 Graphviz Dll

我在asp.net应用程序中使用GraphvizDll,我使用此处描述的方法通过我的C#代码访问Dll:-http://implicitoperator.com/blog/2010/4/11/graphviz-c-sample.htmlhttp://implicitoperator.com/blog/2009/12/24/rendering-an-in-memory-graphviz-image-with-c.html调试时在我的本地机器上一切正常,我得到了我的图表的pdf。问题是当应用程序被部署到我们的UAT服务器时,图表没有生成。没有抛出任何异常,似乎也没有任何错误,我只是得到一个

c# - 注入(inject)应用程序配置的最佳方式

好吧,我正带着一个关于将配置设置注入(inject)应用程序组件的正确方法的问题进入这个奇妙的网站。因此,概述是:我有一个用C#.Net3.5编写的应用程序。它由3个组件组成-一个核心、一个数据和一个服务。数据和服务程序集需要从app.config检索设置,这是通过设置文件完成的,例如。代码:publicstaticStringRequestQueueConnectionString{get{returnConnectionSettings.Default.RequestQueueConnectionString;}}配置:...现在,程序集都是使用IoC的StructureMap设置

c# - 传递依赖导致同一 DLL 的版本冲突

.NET世界中管理导致版本冲突的传递依赖项的最佳实践是什么?详情:项目A依赖于项目B,而项目B又依赖于库C还有项目A还依赖于项目X,后者依赖于库C的不同且(可能)不兼容的版本。A->B->Cv1.0&A->X->Cv2.0其中Cv1.0Cv2.0有没有办法让它工作?可以不使用GAC来完成吗?即使B和X只是二进制格式(无法访问源代码)也能做到吗?换句话说,有没有一种方法可以让项目B和X在项目A中一起使用时各自使用它们自己的依赖项,而不会引起冲突。注意:我意识到理想情况下我根本不应该遇到这个问题,但随着对外部库的依赖不断扩大,这将是一个不可避免的副作用。所以我想知道应该如何最好地处理它。

c# - 处理内存泄漏的非托管 dll

我有一个c#应用程序,它依赖于第三方非托管程序集来访问某些硬件。非托管代码存在内存泄漏,每次访问后内存消耗将增加~10mb。问题是已知的;没有错误修正可用。有没有一种方法可以让我在不定期重启的情况下继续使用这个程序集?我尝试创建一个单独的AppDomain,通过appDomain.CreateInstanceAndUnwrap()将有问题的代码加载到该AppDomain中,然后通过AppDomain.Unload()卸载该域.然而,这显然不会释放该域使用的非托管内存,只会释放托管内存。我还可以将应用程序拆分为两个独立的部分,然后仅重新启动具有非托管dll的部分。然而,这将意味着重大的重

c# - 在 C# 中处理共享 dll 的最佳方法是什么?

在我的团队中,我们有数百个共享dll,其中许多还引用其他dll,而这些dll本身又引用其他dll,等等。我们已经开始为所有我们认为足够通用以用于其他项目的dll使用“共享”目录,例如数据库通信dll。问题是如果其中一个dll一直沿树向下更改,那么引用它的所有内容都需要重新编译以避免版本控制问题(在运行时发生)。为了避免这种情况,现在有人讨论将我们所有的“共享”dll添加到一个大程序集中,任何创建新应用程序的人都只需引用它,并且仅引用它。这显然会变得越来越大,我不确定这是否是最好的方法。有什么想法吗? 最佳答案 我们所做的是将共享DL

c# - 从 C# DLL 动态获取代码

我想看看DLL(可能在不同机器上编译)是否相同。为此,我正在做的是加载DLL并计算MD5,这因DLL在不同机器上失败(但具有相同的源)而失败。这似乎是由于在编译时添加了其他元数据(正如有人提到的here)。我想对整个DLL进行逆向工程,看看代码是否匹配,但是,我有两个问题:我只能找到执行此操作的工具,我似乎找不到C#库或类似的东西来满足我的需要。我不能100%确定反编译的源代码在不同机器上编译的源代码是否相同。如有任何提示、提示和指点,我们将不胜感激。 最佳答案 您可能是对的-它可能是元数据。不过,我认为这不一定是最有可能的可能性。

c# - 为什么 Urlmon.dll 的 FindMimeFromData 函数会为许多文件类型返回 MIME 类型 “application/octet-stream”?

为什么Urlmon.dll的FindMimeFromData函数会为许多文件类型返回MIME类型“application/octet-stream”,而通过文件扩展名(即针对Windows注册表)检查MIME类型会返回更精确的类型?例如,mp3是“application/octet-stream”而不是“audio/mp3”。基本上,我想验证一个扩展名不正确的上传文件。这种方法似乎适用于许多图像文件、xml等。问题类似于thisone,但提供的解决方案不适合验证上传的文件,因为返回了不同/不明确的MIME类型。 最佳答案 阅读Fin