我收到有關程序集「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