Pergunta

observo arquivos unmanaged.dll tendo um unmanaged.dll.manifest marcação arquivo junto. Ao abrir estes arquivos em um editor, parece ser XML normal com links para outras certa dependente gerenciado? montagens. Este parece ser como uma mudança recente .. não me lembro de vê-los mais cedo.

  • Por que esses arquivos necessários? (Se eu tivesse que dar um palpite, seria para carregar conjuntos gerenciados dependentes e / ou o CLR)
  • Que outras informações úteis podem esses arquivos contêm? Será que eles contêm links para DLLs não gerenciados dependentes demais (o que seria bom)

.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugMFC" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>
Foi útil?

Solução

O que você está vendo é chamado de " Side-by-side montagens "(SxS). Microsoft ampliou a maquinaria .NET side-by-side para DLLs não gerenciados, e agora os chama de "assembléias plataforma". Em vez de efectuar ligao por nome DLL, DLLs são agora carregados através do manifesto. O equivalente do .NET GAC é a pasta \ Windows \ WinSxS; Isto permite a instalação simultânea de múltiplas versões do DLL de um sistema, e aplicações diferentes de ligação contra diferentes versões da mesma DLL. Ele também inclui as capacidades de redirecionamento que o .NET ofertas; este é essencialmente o que os manifestos fazer (permitindo o redirecionamento).

As DLLs referido no manifesto (por exemplo Microsoft.VC90.DebugCRT) são também não gerido (isto é, código nativo)

manifestos de aplicativo servir para outras finalidades também. Eu não sei os detalhes, mas lembro que a seleção de temas no XP também é indicado em manifesta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top