InstallUtil抛出AssemblySignatureKeyAttribute的TypeLoadException

时间:2013-06-24 11:56:17

标签: .net windows-services installutil

在开发计算机上,当我使用InstallUtil时没有出现错误,服务已成功安装 我打算将它安装在另一台计算机上(安装了.Net 4.0),因此我将以下文件复制到目标目录:

  • InstallUtil.exe
  • InstallUtil.exe.config
  • InstallUtilLib.dll

在管理员模式下运行util后,我得到以下异常:

  

未处理的异常:System.TypeLoadException:无法加载类型   汇编中的'System.Reflection.AssemblySignatureKeyAttribute'   'mscorlib,版本= 4.0.0.0,文化=中性,   公钥= b77a5c561934e089' 。在   System.ModuleHandle.ResolveType(RuntimeModule模块,Int32 typeToken,   Int Ptr * typeInstArgs,Int32 typeInstCount,IntPtr * methodInstArgs,   Int32 methodInst Count,ObjectHandleOnStack type)at   System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule模块,   Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,   RuntimeTypeHandle []遇到hodInstantiationContext)   System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,   键入[] ge nericTypeArguments,键入[] genericMethodArguments)   System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttrib   uteRecord caRecord,MetadataImport范围,汇编&   lastAptcaOkAssembly,Runtime Module decoratedModule,MetadataToken   decoratedToken,RuntimeType attributeFilte rType,Boolean   mustBeInheritable,Object []属性,IList derivedAttributes,   RuntimeType&安培; attributeType,IRuntimeMethodInfo& ctor,布尔&   ctorHasParameters,Boolean& isVarArg)at   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule   decora tedModule,Int32 decoratedMetadataToken,Int32 pcaCount,   RuntimeType attributeFi lterType,Boolean mustBeInheritable,IList   derivedAttributes,Boolean isDecorate dTargetSecurityTransparent)
  在   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly   asse mbly,RuntimeType caType)at   System.Reflection.RuntimeAssembly.GetCustomAttributes(类型   attributeType,Boolean inherit)at   System.Configuration.InstallUtil.Main(String [] args)

似乎即使是InstallUtil也无法启动,因此无法安装该服务 我该怎么检查?

1 个答案:

答案 0 :(得分:7)

您是否可以尝试从C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \或其他相关文件夹(在C:\ Windows \ Microsoft.NET中)运行“installutil.exe”??

我大多认为,您看到的错误主要是因为.NET版本不匹配。