.net - studio - excepción de hresult 0x8007000b)''
Visual Studio cargando la dll derecha(x86 o x64)! (3)
Esta respuesta un poco más simple que la de Preet Sangha no generará una advertencia cuando se cargue el proyecto y solo el dll aceptado condicionalmente aparecerá en el Explorador de soluciones. Entonces, en general, el aspecto es más limpio, aunque más sutil. (Esto fue probado en Visual Studio 2010).
<Reference Include="p4dn" Condition="$(Platform) == ''x86''">
<HintPath>../../ThirdParty/P4.Net/clr4/x86/p4dn.dll</HintPath>
</Reference>
<Reference Include="p4dn" Condition="$(Platform) == ''x64''">
<HintPath>../../ThirdParty/P4.Net/clr4/x64/p4dn.dll</HintPath>
</Reference>
Estoy trabajando en un estudio visual en un x86. Me gustaría compilar mi aplicación para x32 y x64. Pero necesito usar el conector sqlite .net que tiene una DLL para aplicaciones x86 y otra DLL para aplicaciones x64. ¿Cómo configuro mi estudio visual para cargar una referencia cuando mi configuración es x64 y otra cuando mi configuración es x86?
Gracias, Richard.
También puede compilar su aplicación para "Cualquier CPU" y elegir dinámicamente qué DLL cargar.
en su archivo de proyecto en referencia use un MSBUILD condicional
<Reference
Include="SomeAssembly86, Version=0.85.5.452, Culture=neutral, PublicKeyToken=41b332442f1101cc, processorArchitecture=MSIL"
Condition=" ''$(Platform)'' == ''AnyCPU'' ">
<SpecificVersion>False</SpecificVersion>
<HintPath>../../Dependencies/SomeAssembly.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference
Include="SomeOtherAssembly, Version=0.85.5.999, Culture=neutral, PublicKeyToken=41b332442f1101cc, processorArchitecture=MSIL"
Condition=" ''$(Platform)'' == ''x64'' ">
<SpecificVersion>False</SpecificVersion>
<HintPath>../../Dependencies/SomeOtherAssembly.dll</HintPath>
<Private>False</Private>
</Reference>