Usando WinHTTP como um assembly lado a lado
No Windows Server 2003, o WinHTTP é implementado como um assembly lado a lado e deve ser vinculado a como tal. Observe que isso não se aplica ao Windows Vista e posterior.
Assemblies lado a lado
A partir do Microsoft Windows XP, um mecanismo de assemblies lado a lado foi fornecido para controlar a vinculação em tempo de execução para evitar conflitos de controle de versão de DLL (biblioteca de vínculo dinâmico). Para obter informações sobre assemblies lado a lado, consulte Sobre aplicativos isolados e assemblies lado a lado.
Para usar esse mecanismo para vincular ao WinHTTP versão 5.1 no Windows Server 2003, um aplicativo deve incorporar um manifesto que especifica WinHTTP como um assembly dependente. Consulte Usando assemblies lado a lado para obter mais informações sobre como fazer isso.
Um exemplo de manifesto do aplicativo WinHTTP
O manifesto de exemplo abaixo ilustra um manifesto do aplicativo que pode ser usado para vincular ao WinHTTP.
Todos os atributos, exceto "type" da "<assembly><assemblyIdentity>", devem ser modificados conforme apropriado para seu aplicativo específico. O mesmo vale para o conteúdo do elemento "<description>".
Além disso, verifique se o atributo "processorArchitecture" da "<dependentAssembly><assemblyIdentity>" corresponde ao atributo "processorArchitecture" da "<assembly><assemblyIdentity>". Abaixo, por exemplo, ambos são definidos como "x86".
Todos os valores não específicos para seu aplicativo devem assumir os formulários mostrados abaixo.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="Microsoft.Windows.Sample"
type="win32" />
<description>Sample WinHttp Application</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.WinHTTP"
version="5.1.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
</assembly>