Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载文件或程序集';Leadtools.Codecs';,如果有人熟悉leadtools_C#_Visual Studio 2010_Dll_Leadtools Sdk - Fatal编程技术网

C# 无法加载文件或程序集';Leadtools.Codecs';,如果有人熟悉leadtools

C# 无法加载文件或程序集';Leadtools.Codecs';,如果有人熟悉leadtools,c#,visual-studio-2010,dll,leadtools-sdk,C#,Visual Studio 2010,Dll,Leadtools Sdk,我在以下代码的最后一行遇到一个异常(对于格式很抱歉,不允许我以任何其他方式发布): 例外情况如下: System.BadImageFormatException:无法加载文件或程序集“Leadtools.Codecs,版本=17.5.0.0,区域性=中性,….”或其依赖项之一。试图以不正确的格式引导程序 为了试图消除这个异常,我引用了所有可能的Leadtools.Codecs.*DLL,Leadtools.DLL。。。我们可以参考的几乎每一个Leadtools dll 对于我的包括,我包括了Le

我在以下代码的最后一行遇到一个异常(对于格式很抱歉,不允许我以任何其他方式发布):

例外情况如下:

System.BadImageFormatException:无法加载文件或程序集“Leadtools.Codecs,版本=17.5.0.0,区域性=中性,….”或其依赖项之一。试图以不正确的格式引导程序

为了试图消除这个异常,我引用了所有可能的Leadtools.Codecs.*DLL,Leadtools.DLL。。。我们可以参考的几乎每一个Leadtools dll

对于我的包括,我包括了Leadtools、Leadtools.Barcode、Leadtools.Codecs、Leadtools.Codecs.Tif、Leadtools.Codecs.Fax和Leadtools.Forms

这是一个测试控制台应用程序,我正在做读取条形码。。。VS2010 C#


此外,我最肯定的是可以访问该文件,它是对网络文件的引用,但我尝试在本地引用它,检查权限等等。看起来您针对该dll的框架不正确。尝试切换引用dll的csproj框架

我不确定leadtools内置了什么框架,但请尝试在其他框架(4.0客户端、4.0、2.0等)中进行构建


更多信息:

此消息通常表示您正试图在64位系统上加载32位DLL,反之亦然


验证DLL及其依赖项的版本是否正确。

平台不匹配导致BadImageFormatException。在为x64编译Leadtools程序集时,您的项目目标是x86,反之亦然

要修复此问题,请在Visual Studio中查看项目的属性。平台位于build选项卡上,类似于x86、x64或AnyCPU

您可能必须使用configuration manager(在“构建”菜单下找到)添加另一个平台


这里有一个问题,您试图引用错误的程序集。您应该尝试从LeadSDK for 4.0或2.0.NETFramework的dist文件夹中为您的案例编写包装器

我使用的是他们的屏幕截图和编解码器,我只引用了所需的文件(.NET wrappers): LEncH2644.dll LMISOMux.dll LMScrCap2.dll LMVRGBxf.dll

但您应该单独交付LEAD的核心文件: Leadtools.Multimedia.dll、ltmm.manifest、ltmm175.dll、DSKernel2.dll。最后两个必须在系统上注册(regsvr32)

必须在锁定/解锁组件的项目中引用Leadtools.Multimedia.dll。

至tnw:

这是领导支持部的Daoud。 关于imaging.NET DLL的不同版本,每个DLL有4个不同的副本(不包括Silverlight或WinRT版本),它们是:

  • 32位.NET 4
  • 64位.NET 4
  • 32位.NET 2到3.5
  • 64位.NET 2到3.5
这意味着不同用户在此发布的建议基本上是正确的。您应该为您的平台和框架版本使用正确的DLL构建。但如果您仍然面临我们工具包的任何问题,请向我们发送电子邮件support@leadtools.com我们将和你们一起解决这个问题。我们通常在同一个工作日内,不迟于第二天作出答复

还要确保在运行时加载了正确的DLL,因为如果PATH或GAC包含DLL的多个副本,则可能会加载错误的版本


关于Ivan Leonenko回复的最后一点说明:提供的信息对于我们的多媒体工具包过滤器和编解码器用户来说是正确的。但是,tnw似乎正在使用我们的映像.NET程序集,它们是不同的.NET DLL,没有“包装器”。

在IIS中将应用程序池中的启用32位应用程序设置为true,然后重试。我认为这是可行的,因为这是平台相关的问题。

< P>我安装了微软Visual C++ 2008和2010 SP1可重分发包(X86)。p>
然后,在IIS中将应用程序池中的32位应用程序启用为True。它工作得非常好。

非常好,将它改为x64,我不再收到这个异常(有点)。现在它导致了
leadheloper.Unlock()
无法加载文件或程序集“microsoft.licensing.runtime2.0”
在我的开发计算机上找不到“microsoft.licensing.runtime2.0”。所以我怀疑它是.Net框架的一个附加组件。我猜您需要引用该dll的64位版本来解决此新异常
LeadHelper.Unlock(); 
RasterCodecs codecs = new RasterCodecs(); 
string imageLocation = @"...path...\Barcodes.tif"; 
RasterImage srcImage = codecs.Load(imageLocation);