TlbExp.exe错误:此程序集是由运行时更新的程序生成的

问题描述

|| 我们正在将服务器的一部分移至.net 4.0。我们已经迈入了Vs2010的第一步,但并未更改任何项目的目标框架。 第二步,我将服务器的特定部分移至目标4.0,以便我们可以使用一些新功能。 在针对4.0的类库DLL上调用TLBexp.exe时遇到问题。此DLL还引用了许多针对2.0的DLL。 我收到错误消息:TlbExp:错误TX0000:无法加载文件或程序集'file:Library.dll \'或其依赖项之一。该程序集是由比当前加载的运行时新的运行时构建的,无法加载。 我正在调用随附的TLBExp:Microsoft SDKs \\ Windows \\ v7.0A \\ bin \\ 在VS2010命令提示符下调用的命令中,我引用了v4.0.30319二进制文件(例如mscorlib.tlb) 是否可以在引用2.0库的4.0 DLL上运行TLB? 如果是,那么我会收到此错误的任何原因。 这是我使用的确切命令调用:\“ C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v7.0A \\ bin \\ tlbexp.exe \” / silent / win32 / tlbreference:\“ C: \\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ mscorlib.tlb \“ /tlbreference:\"C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\System。 tlb \“ / tlbreference:\” C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ System.Windows.Forms.tlb \“ / tlbreference:\” C:\\ Windows \\ system32 \\ stdole2.tlb \“ C:\\ Dev \\ Library.dll 谢谢     

解决方法

我有一个针对4.0的程序集,该程序集引用了另一个目标框架为3.5的程序集。 结果,我在“后期构建”步骤中遇到了相同的错误。通过反复试验,我发现在此文件夹中找到的TLBExp版本:
C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 Tools\\
可以成功生成TLB文件。 HTH!     ,您可以使用以下TlbExp路径,该路径将根据项目框架版本自动选择:
$(TargetFrameworkSDKToolsDirectory)\\tlbexp.exe
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...