Я получаю сообщение об ошибке "C:\Ora10g\bin\Zip.exe". Проблема в том, что это решение НЕ использует ничего в Oracle вообще. Я не мог найти ни одной ссылки на 10g в любом месте проекта. Я унаследовал это от другого человека, который покинул нашу группу. У него никогда не было этой проблемы. Другой член моей команды сказал, что он получил это раньше, но переустановка клиентской части в 10g исправил ее. Нет такой удачи. Я даже попытался использовать WinGrep для поиска всей папки решения для "Ora10g", но ее там не было.
Любые идеи? Я не могу построить это решение, пока не смогу понять, как избавиться от этой ложной ссылки на Oracle.
VS 2005. Содержит несколько приложений WinForm, несколько классов библиотек и веб-сервис. Ошибка возникает в проекте библиотеки основных классов.
Вот сообщение об ошибке:
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].
Выдача: "Ожидается, что модуль будет содержать манифест сборки" и тот факт, что исключение имеет тип System.BadImageFormatException
. Что-то пытается загрузить файл "C:\Ora10g\bin\Zip.exe", как если бы это была сборка .net, и это либо:
Есть ли у вас:
%windir%\Microsoft.NET\Framework\v2.0.50727
Другие вещи, которые вы можете попробовать:
Кроме того, убедитесь, что ни один из официальных Targetets не был изменен. Они автоматически импортируются в вашу среду сборки. Возможно, вы тоже могли бы сделать grep?
Более конкретно, ваш предшественник мог изменить их, чтобы включить какой-то шаг построения во все его проекты.
Действительно ли ваше приложение находится в каталоге c:\ora10g? Если да .Net попытается загрузить каждую сборку в каталоге \bin, ссылаетесь ли вы на нее или нет.
На этот файл может ссылаться одна из ваших ссылок, вызывающая косвенную зависимость.
Проверьте, существует ли файл в каталоге, и если да, убедитесь, что файл также существует на сервере сборки.
Когда вы переустановили своего клиента Oracle, куда его положили? Если вы использовали местоположение по умолчанию у установщика, ваш ORACLE_HOME не будет в c:\ora10g. Существует ли каталог c:\ora10g\bin?
Возможным обходным путем является создание каталога c:\ora10g\bin и копирование файла zip.exe из вашего каталога ORACLE_HOME\bin. В вашем проекте, по-видимому, есть что-то, что ссылается на двоичный файл Oracle zip в этом конкретном месте (не может вам помочь).