Не удалось загрузить файл или сборку "Microsoft.TeamFoundation.WorkItemTracking.Client.Cache" или одна из его зависимостей - программирование
Подтвердить что ты не робот

Не удалось загрузить файл или сборку "Microsoft.TeamFoundation.WorkItemTracking.Client.Cache" или одна из его зависимостей

Я работаю над веб-приложением, которое взаимодействует с TFS. Когда я загружаю свое приложение в windows azure cloud, я получаю это сообщение об ошибке.

Оцените свои исходные данные, чтобы решить эту проблему.

вставленное ниже, является сообщением об ошибке, которое я получаю

Server Error in '/' Application.
--------------------------------------------------------------------------------


Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
  Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

 Exception Details: System.BadImageFormatException: Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Source Error: 


 An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' could not be loaded.



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].



Stack Trace: 



[BadImageFormatException: Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +567
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +192
   System.Reflection.Assembly.Load(String assemblyString) +35
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +123

[ConfigurationErrorsException: Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11568240
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +485
   System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +79
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +337
   System.Web.Compilation.BuildManager.CallPreStartInitMethods() +280
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167

[HttpException (0x80004005): Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.Cache' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11700976
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4869205




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 
4b9b3361

Ответ 1

Это связано с тем, что ваш проект пытается использовать 32-разрядную dll в 64-разрядной среде (лазурь)

Чтобы решить этот тип проблем, создайте пуск script с приведенными ниже командами

Скопируйте ниже запуска script в текстовый файл и сохраните как "setup.cmd". Затем включите этот файл в свой проект веб-роли, установите "copy local" = true затем откройте свой ServiceDefinition.csdef ниже заданной команды запуска внутри тега webrole

<webrole > --your webrole
    <Startup>
              <Task commandLine="setup.cmd" executionContext="elevated" />
          </Startup>
</webrole >

запуск script, вставленный ниже:

%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.enable32BitAppOnWin64:"True" /commit:apphost

Ответ 2

Я решил эту проблему, удалив соответствующую DLL из папки bin моего веб-проекта asp.net.

Спасибо и приветствую,

Ответ 3

Я решил это, установив параметр Enable 32-Bit applications в True в Advanced Settings пула приложений, который использовал сайт.

Ответ 4

BadImageFormat Исключение почти всегда является проблемой между 32-разрядной dll, пытающейся загрузить 64-разрядную DLL или DLL или исполняемый файл, загружается как 64-разрядная сборка, но содержит 32-битные функции или ресурсы.

Попробуйте выполнить компиляцию приложения до x86 или наоборот и сообщите мне, как это работает

Ответ 5

Soultion от Moha "Я решил эту проблему, установив для параметра" Включить 32-разрядные приложения "значение" True "в расширенных настройках пула приложений, который использовался сайтом".

Работал для меня