草庐IT

dll_unloaded

全部标签

c# - 使用不同版本的引用 DLL

不知何故,我很幸运,从来没有遇到过这个问题,尽管我认为这是一个常见的问题:我有一个网络项目,我们称它为SomeProject。SomeProject引用了第3方库,我们称它为SomeThirdParty,版本1.0。SomeProject还引用了一个本地类库,我们称它为SomeLibrary。SomeLibrary也有对SomeThirdParty的引用,但版本不同(比如2.0)。SomeThirdParty的1.0版和2.0版共享大部分相同的签名,但实现方式不同。如果可能,我需要SomeProject来使用1.0实现,并且需要SomeLibrary来使用2.0实现。我编译SomePr

c# - 为 .dll 生成初始化代码

我最近听说.dll可以在加载后立即运行代码,例如,当加载引用.dll的应用程序时。尽管我自己做了一些测试并尝试在这里和在Google上寻找答案,但我无法找到某种方法来为.dll生成初始化方法。我想知道当应用程序加载.dll时是否真的可以运行代码。如果可以,我该怎么做? 最佳答案 警告(感谢BenVoigt的捕获:)):下面的代码仅适用于C#保证生成的类不会是beforefieldinit。但是使用C++/CLI应该不会那么容易:ManagedC++StaticConstructornotcalledin.net4所以正如我的评论中所

c# - 如何解决 .NET Dll Hell?

如何修复?我有2个第3方程序集,它们使用NewtonSoftJson.dll。问题是其中一个使用较旧的3.x.x,另一个使用4.5.x。因此在运行时,2个程序集中至少有1个提示另一个。我该如何解决这个问题?我可以设置服务,但代码和环境目前不是这样设置的。在给定时间内安全完成的重构也太多了。 最佳答案 我碰巧遇到了Newtonsoft和另一个第三方库的确切问题。Newtonsoftv3.x和v4.x的问题是较新的库现在带有公钥token。这使得程序集重定向解决方案无用;但对于大多数其他情况,它是一个完全有效的解决方案。我最终自己重新实

c# - 从已编译的 DLL 中获取所有 XAML 文件

我想在运行时从第三方库(DLL)加载外部XAML样式。喜欢thistutorial他们使用:Application.LoadComponent(newUri("/WpfSkinSample;component/Skins/"+name+".xaml",UriKind.Relative))asResourceDictionary;加载新样式。但我不知道来自第三方库的XAML名称,所以我正在寻找一种方法来获取它们并将它们加载到我的应用程序中。感谢您的帮助。编辑:感谢andyp,我做了以下工作:publicvoidLoadXaml(StringAssemblypath){varassembl

c# - Oracle.ManagedDataAccess.dll 中的 OracleBulkCopy 类?

我正在使用OracleBulkCopy类并引用Oracle.DataAccess.dll。我想使用Oracle.ManagedDataAccess.dll来轻松部署。但是后来我得到了构建错误“找不到OracleBulkCopy”有谁知道为什么Oracle.ManagedDataAccess.dll中没有包含OracleBulkCopy? 最佳答案 你是对的。在撰写本文时,OracleBulkCopy在ODP.NET托管驱动程序中不受支持。未包含的原因仅仅是功能优先级问题。随着托管驱动程序的功能越来越完善,最终将添加OracleBul

c# - 如何在包含第三方 DLL 文件的同时部署 C# 应用程序?

首先,我不太了解部署。我希望我的问题是有道理的。我需要将C#应用程序安装/部署到多个桌面。它需要一个第三方DLL文件:一个C++库(“lpsolve55.dll”,对于那些感兴趣的人来说,它是一个免费的MIP/LP求解器,请参见lpsolve.sourceforge.net/5.5/)。我通过以下方式在我的代码中使用它:[DllImport("lpsolve55.dll",SetLastError=true)]publicstaticexternbooladd_column(intlp,double[]column);为了测试,我手动将.dll文件复制到project\bin\rele

c# - C DLL 中的 PInvoke char* 在 C# 中处理为字符串。空字符问题

CDLL中的函数如下所示:intmy_Funct(char*input,char*output);我必须从C#应用程序调用它。我通过以下方式执行此操作:...DllImportstuff...publicstaticexternintmy_Funct(stringinput,stringoutput);输入字符串完美地传输到DLL(我有可见的证据)。该函数填写的输出虽然是错误的。我有hexa数据,比如:3F-D9-00-01但不幸的是,两个零之后的所有内容都被截断了,只有前两个字节进入了我的C#应用程序。它发生了,因为(我猜)它被视为空字符并将其作为字符串的结尾。知道如何摆脱它吗?我试

c# - IoC、Dll 引用和程序集扫描

虽然这个问题与StructureMap有关,但我的一般问题是:WhenwiringupcomponentswithanIoCcontainerincode(asopposedtoconfiguringviaxml)doyougenerallyneedexplicitproject/buildreferencestoallassemblies?为什么要分开组装?因为:"Abstractclassesresidinginaseparateassemblyfromtheirconcreteimplementationsareagreatwaytoachievesuchseparation."

c# - 来自 user32.dll 的 FindWindowEx 使用 dllimport 返回零句柄和 127 错误代码

我需要以编程方式处理另一个Windows应用程序,搜索谷歌我找到了一个示例,它使用DLLImport属性处理Windows计算器并将user32.dll函数导入C#中的托管函数。应用程序正在运行,我正在获取主窗口的句柄,即计算器本身,但之后的代码无法正常工作。FindWindowEx方法不返回计算器子项的句柄,例如按钮和文本框。我尝试在DLLImport上使用SetLastError=True并发现我收到错误代码127,即“未找到过程”。这是我从中获得示例应用程序的链接:http://www.codeproject.com/script/Articles/ArticleVersion.

c# - Visual Studio - 引用第三方 DLL

我在C#MVC应用程序中使用VisualStudio10。我有一个关于.dll引用的问题。我正在使用名为ionic.Zip.dll。我不确定的是它当前指向我的C:驱动器上的某个位置。我如何放置这个.dll以及什么是最佳实践,这样当我checkin项目时,其他人也可以看到这个.dll而不会崩溃。谢谢 最佳答案 我通常会在我的应用程序结构中放置一个库文件夹,将第3方dll放置在该文件夹中,然后引用该dll。然后确保将库文件夹checkin源代码管理。现在,任何提取您源代码的人都将拥有所需的dll。