WinSxS не может загрузить библиотеки DLL VC ++

У меня проблема с несколькими библиотеками DLL VC ++, которые я должен включить в свой .NET / C # проект. Одна VC ++ DLL - это C ++ / CLI DLL, которую я использую в качестве общедоступного интерфейса из моего проекта .NET. Другие библиотеки DLL написаны на родном C ++. У меня нет доступа к источнику DLL VC ++, мне просто нужно использовать их.

Я сделал.NET и ссылался на C ++ / CLI DLL. Нет проблем, компилятору повезло, отлично. Есть только одна проблема: когда я запускаю EXE-файл программы .NET, я получаю ошибки в отношении библиотек DLL C ++ из-за отсутствия базовых библиотек DLL VC ++. sxstrace показывает следующее (сокращенно):

INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"
INFO: Reference: Microsoft.VC80.OpenMP,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"
...
ERROR: Cannot resolve reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195".

Теперь я не дурак и пробовал несколько вещей. Я много читал о WinSxS, чтобы лучше понять, что происходит. Теперь я нахожусь в той точке, где мне это надоедает. В системе, в которой я хочу запустить программу, установлен распространяемый пакет VC ++ в текущей версии 8.0.50727.762 (SP1). Я знаю, что в winsxs есть файл политики для Microsoft.VC80.CRT, который перенаправляет все версии этой сборки на текущую версию 8.0.50727.762 (это решение проблемы на http://blogs.msdn.com/ b / nikolad / archive / 2007/03/29 / a-решение-для-двух-ссылок-на-разные-версии-crt-mfc-atl-in-one-application-manifest-file.aspx ). Но, как сказано в приведенной выше ошибке, этот файл политики не работает или не принимается во внимание. Система просто хочет найти версию сборки 8.0.50727.6195.

Это первый вопрос: в чем проблема? После того, как я понял это, я смог решить исходную проблему ...

10
задан Daniel Hilgarth 2 February 2012 в 10:02
поделиться