Visual Studio加载正确的(x86或x64)dll!

我正在使用x86的visual studio。 我想为x32和x64构建我的应用程序。 但我需要使用sqlite .net连接器,它有一个用于x86应用程序的dll和另一个用于x64应用程序的dll。 如何配置我的Visual Studio加载引用时,我的配置是x64和另一个时,我的配置是x86?

谢谢,理查德。


在参考项目文件中使用MSBUILD条件

<Reference 
       Include="SomeAssembly86, Version=0.85.5.452, Culture=neutral, PublicKeyToken=41b332442f1101cc, processorArchitecture=MSIL"  
         Condition=" '$(Platform)' == 'AnyCPU' ">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>....DependenciesSomeAssembly.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>....DependenciesSomeOtherAssembly.dll</HintPath>
      <Private>False</Private>
    </Reference>

这个比Preet Sangha更简单的答案不会在项目加载时产生警告,并且只有条件接受的DLL才会出现在解决方案资源管理器中。 所以,总体而言,外观更清洁,但更为微妙。 (这已在Visual Studio 2010中测试过)

<Reference Include="p4dn" Condition="$(Platform) == 'x86'">
  <HintPath>....ThirdPartyP4.Netclr4x86p4dn.dll</HintPath>
</Reference>
<Reference Include="p4dn" Condition="$(Platform) == 'x64'">
  <HintPath>....ThirdPartyP4.Netclr4x64p4dn.dll</HintPath>
</Reference>

您还可以构建“任何CPU”的应用程序并动态选择要加载的DLL。

链接地址: http://www.djcxy.com/p/66305.html

上一篇: Visual Studio loading the right (x86 or x64) dll!

下一篇: Java AES