草庐IT

msvcr90d.dll

全部标签

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。

c# - 从 .NET Windows 服务调用 Shell32.dll

我有一个.NET4.0库,它使用Shell32和Folder.GetDetailsOf()从WTV文件中获取元数据。我已经成功地将它用于控制台和Windows窗体应用程序,没有任何问题。但由于某种原因,当从.NET4.0Windows服务调用组件时,调用启动Shell类会导致COM错误。库中失败的代码:Shell32.Shellshell=newShell();错误:无法将“System.__ComObject”类型的COM对象转换为接口(interface)类型“Shell32.Shell”。此操作失败,因为IID为“{286E6F1B-7113-4355-9562-96B7E9D6

c# - Convert.ToDouble ("4089.90") 输出 40.899,00 为什么?

我正在开发一个使用数字精度的软件,但我遇到了这个问题,当我将一个字符串转换为double时,它​​会输出不同的文化。例如我使用Convert.ToDouble("4089.90");//itoutputs40.899,00很奇怪,因为在我的电脑上它工作正常,但在客户端的电脑上(在区域设置中具有相同的文化)向我显示了后者的输出。我知道我可以使用修复它Convert.ToDouble("4089.90",System.Globalization.CultureInfo.InvariantCulture);但程序中有很多代码使用“Convert.ToDouble”,我不想全部更改,另一方面我