我收到有关程序集“C:\ Ora10g \ bin \ Zip.exe”的错误。麻烦的是,这个解决方案根本不在Oracle中使用任何东西。在项目的任何地方我都找不到10g的单一引用。我从另一个离开我们小组的人那里继承了这个。他从未有过这个问题。我的团队的另一位成员表示他之前得到了这个,但重新安装了10g的客户端部分。那里没有这样的运气。我甚至尝试使用WinGrep搜索整个解决方案文件夹中的“Ora10g”,但它不在那里。“ResolveAssemblyReference”任务失败并且System.BadImageFormatException,但程序集不在任何地方使用!
任何想法?在我能弄清楚如何摆脱这种对Oracle的错误引用之前,我无法构建这个解决方案。
VS 2005解决方案。包含一对夫妇的WinForm应用程序,一对夫妇类库和一个Web服务。该错误发生在主类库项目中。
以下是错误消息:
Error 1 The "ResolveAssemblyReference" task failed unexpectedly.
System.BadImageFormatException: Could not load file or assembly 'C:\Ora10g\bin\Zip.exe' or one of its dependencies. The module was expected to contain an assembly manifest.
File name: 'C:\Ora10g\bin\Zip.exe'
at System.Reflection.AssemblyName.nGetFileInformation(String s)
at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
at Microsoft.Build.Shared.AssemblyNameExtension.GetAssemblyNameEx(String path)
at Microsoft.Build.Tasks.SystemState.GetAssemblyName(String path)
at Microsoft.Build.Tasks.Resolver.FileMatchesAssemblyName(AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, Boolean allowMismatchBetweenFusionNameAndFileName, String pathToCandidateAssembly, ResolutionSearchLocation searchLocation)
at Microsoft.Build.Tasks.Resolver.ResolveAsFile(String fullPath, AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, Boolean allowMismatchBetweenFusionNameAndFileName, ArrayList assembliesConsideredAndRejected)
at Microsoft.Build.Tasks.Resolver.ResolveFromDirectory(AssemblyNameExtension assemblyName, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String directory, ArrayList assembliesConsideredAndRejected)
at Microsoft.Build.Tasks.AssemblyFoldersResolver.Resolve(AssemblyNameExtension assemblyName, String rawFileNameCandidate, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String hintPath, String assemblyFolderKey, ArrayList assembliesConsideredAndRejected, String& foundPath, Boolean& userRequestedSpecificFile)
at Microsoft.Build.Tasks.AssemblyResolution.ResolveReference(IEnumerable`1 jaggedResolvers, AssemblyNameExtension assemblyName, String rawFileNameCandidate, Boolean isPrimaryProjectReference, Boolean wantSpecificVersion, String[] executableExtensions, String hintPath, String assemblyFolderKey, ArrayList assembliesConsideredAndRejected, String& resolvedSearchPath, Boolean& userRequestedSpecificFile)
at Microsoft.Build.Tasks.ReferenceTable.ResolveReference(AssemblyNameExtension assemblyName, String rawFileNameCandidate, Reference reference)
at Microsoft.Build.Tasks.ReferenceTable.ResolveAssemblyFilenames()
at Microsoft.Build.Tasks.ReferenceTable.ComputeClosure()
at Microsoft.Build.Tasks.ReferenceTable.ComputeClosure(DependentAssembly[] remappedAssembliesValue, ITaskItem[] referenceAssemblyFiles, ITaskItem[] referenceAssemblyNames, ArrayList exceptions)
at Microsoft.Build.Tasks.ResolveAssemblyReference.Execute(FileExists fileExists, DirectoryExists directoryExists, GetDirectories getDirectories, GetAssemblyName getAssemblyName, GetAssemblyMetadata getAssemblyMetadata, GetRegistrySubKeyNames getRegistrySubKeyNames, GetRegistrySubKeyDefaultValue getRegistrySubKeyDefaultValue, GetLastWriteTime getLastWriteTime)
at Microsoft.Build.Tasks.ResolveAssemblyReference.Execute()
at Microsoft.Build.BuildEngine.TaskEngine.ExecuteTask(ExecutionMode howToExecuteTask, Hashtable projectItemsAvailableToTask, BuildPropertyGroup projectPropertiesAvailableToTask, Boolean& taskClassWasFound)
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
+1 - 极好的选择。 – Ramesh 2010-03-26 13:13:35
@Ramesh,谢谢:)在我知道自己有多令人沮丧之前,我已经和一个“做了奇怪的事情”的项目文件做了一场战斗。与我一起工作的是调用卡巴斯基决定的EXE,意味着DEVENV正在展示病毒行为并及时关闭它。它驱使我尝试着解决问题!我当时并不知道MSBuild - 不用说我现在知道更多关于它的信息...... – Rob 2010-03-26 13:20:32
另一位团队成员表示,他通过重新安装Oracle来解决这个问题。这对我没有用。我找不到任何有关Oracle项目文件的参考资料。 我的猜测是损坏的。无论如何,我升级到VS2008,除了改变XSD文件的名字,一切似乎都没问题。我能够毫无错误地进行构建。 升级过程中会发生什么影响项目的情况? – bdwakefield 2010-03-28 01:22:13