I have a .NET application that uses COM DLLs, of which there are 32-bit and 64-bit versions. I wrote two application manifests that make COM interoperability work on 32-bit or 64-bit operations. Here is the 32-bit version:
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity name="MyApp" version="1.0.0.0" type="win32" />
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="MyCOMDll_32.dll"
version="1.2.3.4"
processorArchitecture="x86"
publicKeyToken="0000000000000000"
language="*" />
</dependentAssembly>
</dependency>
</assembly>
However, saving two manifests leads to a loss of mobility: you need to decide which version to use when installing the application. And the 64-bit application can no longer be run in 32-bit mode.
.NET 32- 64- DLL , ?
: <assemblyIdentity processorArchitecture="x86" .../> <assemblyIdentity processorArchitecture="amd64" .../>, .
.
,
Moritz