TlbExp.exe错误:此程序集由运行时更新版本构建

Esc*_*ian 9 c# tlbexp .net-4.0 c#-4.0

我们将服务器的一部分移动到.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

谢谢

And*_*rew 20

我有一个目标4.0的程序集,它引用了另一个目标框架为3.5的程序集.

结果,我在"post build"步骤中遇到了同样的错误.通过反复试验,我发现在此文件夹中找到的TLBExp版本:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\可以成功生成TLB文件.

HTH!


小智 7

您可以使用以下路径到TlbExp,它将根据项目框架版本自动获取:

$(TargetFrameworkSDKToolsDirectory)\tlbexp.exe
Run Code Online (Sandbox Code Playgroud)