[C#] - 实现.NET项目引用根据x86/x64与Debug/Release动态引用第三方dll

场景

基于visual studio

项目有编译多平台的需求,即需要支持编译成x86x64

  1. 项目在solution里直接引用其他的项目时,可以不用考虑这个问题,因为在Build Dependencies时会根据依赖顺序流式编译,并保持相同的编译参数。
  2. 项目在引用第三方dll时,一般都是通过Add reference+broswer选择对应的dll,而这样就是明确指定了编译类型。

方案

  1. 在添加了dll后,修改项目配置文件。xxx.csproj
  2. 在· / 目录下,找到引用的dll。
  3. 使用$(PlatformName)(x86/x64,由项目编译参数决定) $(ConfigurationName)(debug/releas,由项目编译参数决定)
<ItemGroup>
	<Reference Include="xxx">
		<HintPath>..\Output\api\x86\debug\xxx.dllHintPath>
    Reference>
   	<Reference Include="yyy">
		<HintPath>..\Output\api\x86\yyy.dllHintPath>
    Reference>
<ItemGroup>

// 由上改至下

<ItemGroup>
	<Reference Include="xxx">
		<HintPath>..\Output\api\$(PlatformName)\$(ConfigurationName)\xxx.dllHintPath>
    Reference>
	<Reference Include="yyy">
		<HintPath>..\Output\api\$(PlatformName)\yyy.dllHintPath>
    Reference>
<ItemGroup>

以上就可以实现根据编译参数动态引用第三方dll。

你可能感兴趣的:(C#/.NET,部署与配置,IDE,c#)