Ошибка параллельной конфигурации (Microsoft.VC80.CRT v8.0.50608.0)

StackOverflow https://stackoverflow.com/questions/1420629

  •  07-07-2019
  •  | 
  •  

Вопрос

У меня есть сборка со следующим встроенным манифестом:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

На одной из моих машин эта сборка не работает (сборка не загружается).Открытие этого в обходчике зависимостей дает мне следующее сообщение об ошибке:

Error: The Side-by-Side configuration information for "SomeAssembly.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).

Идентичная сборка отлично работает на другой машине, и я не получаю ошибок при работе с зависимостями.

Насколько я могу понять, проблема связана с тем, что на первой машине отсутствует какая-либо зависимость (например, распространяемый компонент MSVCR), однако я уже проверил, и распространяемый пакет Microsoft Visual C++ 2005 нормально установлен на обеих машинах.

Как мне выяснить, какая зависимость отсутствует?

Единственное, что я заметил, это то, что в каталоге WinSxS на рабочей машине есть дополнительная запись:

x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd
Это было полезно?

Решение

Сортировано!

Кто-то любезно указал мне, что «SomeAssembly.dll», упомянутый в Dependency Walker, на самом деле является другой dll, чем та, которую я открыл в Dependency Walker!(Упс!)

Просматривая манифест этой сборки, я вижу, что проблема связана с тем, что Microsoft.VC80.CRT v8.0.50727.4053 предназначена для Microsoft.VC80.CRT v8.0.50727.4053, но отсутствует на этом компьютере.(Установлено через обновление безопасности).

Другие советы

После решения той же проблемы я заметил, что обновления, применяемые для установки Visual Studio для разработки, могут касаться некоторых обновлений на целевом компьютере:

Обновления Visual Studio

Например, выделенное обновление выше решает этот конкретный вопрос.

Не обращая внимания на ретрансляцию бок о бок, я бы посоветовал вам не включать " файл манифеста " внутри вашей сборки. Тем более, что вы не можете быть уверены, что ПК, на который вы собираетесь установить программное обеспечение, обновлен до версии, указанной в вашем манифесте.

Вы можете отключить его, установив свойство проекта " Linker \ Manifest File \ Generate Manifest " на "Нет".

Я надеюсь, что это может помочь. Удачи

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top