C ++ DLL с CLR: как написать манифест, чтобы использовать файлы времени выполнения из SxS - PullRequest
1 голос
/ 06 апреля 2011

Все еще пытаюсь это исправить:

Проблема загрузки библиотеки времени выполнения C из исполняемого файла и DLL

Моя проблема - моя C ++ DLL, скомпилированная с CLR (.net 3.5,в Visual Studio 2008) не получает доступ к DLL-библиотекам времени выполнения C (msvcr90.dll, msvcm90.dll и msvrp90.dll) из папки winSxS, когда эта DLL загружается из моего приложения C # WPF.

найдите библиотеки DLL времени выполнения C из winSxS, если библиотека загружена из инструмента командной строки C ++.

Похоже, мне нужно изменить файл манифеста моей DLL, чтобы это исправить.Как я могу это сделать?

1 Ответ

0 голосов
/ 07 апреля 2011

Вот что я должен был вставить в манифест, чтобы принудительно указать конкретную версию DLL времени выполнения. Поскольку они присутствуют в папке SxS на моем компьютере, они загружаются из этого места:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4926" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" />
    </dependentAssembly>
  </dependency>

[...]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...