使用'ngen install ..'时出错

时间:2011-08-31 10:02:20

标签: .net

我正在尝试使用NGEN为我的应用程序创建本机映像。但它显示依赖性错误,如

Failed to load dependency interop.office.kmgp of assembly interop.word.kmgp , Version=8.1.0.0, Culture=neutral, PublicKeyToken=3afac4595eedae9b because of the following error : The system cannot find the file specified. (Exception from HRESULT: 0x800
70002)

Failed to load dependency interop.vbide.kmgp of assembly interop.word.kmgp , Version=8.1.0.0, Culture=neutral, PublicKeyToken=3afac4595eedae9b because of the following error : The system cannot find the file specified. (Exception from HRESULT: 0x8007
0002)

Failed to load dependency Microsoft.Synchronization of assembly Microsoft.Synchronization.Files, Version=0.94.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 because of the following error : The located assembly's manifest definition does notmatch the assembly reference. (Exception from HRESULT: 0x80131040)

Failed to load dependency Microsoft.Synchronization of assembly Microsoft.Synchronization.MetadataStorage, Version=0.94.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 because of the following error : The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

但事实是,这些dll在应用程序中没有被引用。请指教,我该如何摆脱这个。

已编辑,

忘了我的申请,这里有什么不对,我只注册了一个dll。

    ngen install C:\VSSTEST\Binaries\Microsoft.Synchronization.MetadataStorage.dll /ExeConfig:"C:\Program Files\ABC\Bin\ABC.exe"
   Microsoft (R) CLR Native Image Generator - Version 4.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.
Installing assembly C:\VSSTEST\Binaries\Microsoft.Synchronization.MetadataStorage.dll
Failed to load dependency Microsoft.Synchronization of assembly Microsoft.Synchronization.MetadataStorage, Version=0.94.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 because of the following error : The located assembly's manifest definition
 does not match the assembly reference. (Exception from HRESULT: 0x80131040)
All compilation targets are up to date.

1 个答案:

答案 0 :(得分:2)

它们可能未被直接引用,但其中一个引用的程序集正在引用它们。只要确保你有这些程序集,因为没有它们你的应用程序可能无法正常运行。

更新

您的第二个错误意味着可能Microsoft.Synchronization.Metadata版本错误。 Binaries文件夹中的实际版本是0.94.0.0,但应用程序引用了不同的版本。