นี่คือสิ่งที่ฉันได้ทำในโครงการก่อนหน้านี้ซึ่งจะต้องใช้ไฟล์. csproj รุ่นคู่มือ นอกจากนี้คุณยังต้องมีไดเร็กทอรีแยกต่างหากสำหรับไบนารีที่แตกต่างกันโดยเป็นพี่น้องกันและมีชื่อเดียวกันกับแพลตฟอร์มที่คุณกำหนดเป้าหมาย
หลังจากเพิ่มการอ้างอิงของแพลตฟอร์มเดียวในโปรเจ็กต์แล้วให้เปิด. csproj ในโปรแกรมแก้ไขข้อความ ก่อน<ItemGroup>
องค์ประกอบแรกภายใน<Project>
องค์ประกอบให้เพิ่มรหัสต่อไปนี้ซึ่งจะช่วยระบุว่าคุณกำลังใช้งาน (และสร้าง) บนแพลตฟอร์มใด
<!-- Properties group for Determining 64bit Architecture -->
<PropertyGroup>
<CurrentPlatform>x86</CurrentPlatform>
<CurrentPlatform Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">AMD64</CurrentPlatform>
</PropertyGroup>
จากนั้นสำหรับการอ้างอิงเฉพาะแพลตฟอร์มของคุณคุณทำการเปลี่ยนแปลงดังต่อไปนี้:
<ItemGroup>
<Reference Include="Leadtools, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.dll</HintPath>
</Reference>
<Reference Include="Leadtools.Codecs, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.Codecs.dll</HintPath>
</Reference>
<Reference Include="Leadtools.ImageProcessing.Core, Version=16.5.0.0, Culture=neutral, PublicKeyToken=9cf889f53ea9b907, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Lib\Leadtools\$(CurrentPlatform)\Leadtools.ImageProcessing.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Data.Entity" />
<!-- Other project references -->
</ItemGroup>
สังเกตการใช้$(CurrentPlatform)
คุณสมบัติที่เรากำหนดไว้ข้างต้น คุณสามารถใช้เงื่อนไขสำหรับการประกอบที่จะรวมสำหรับแพลตฟอร์มใดแทนได้ คุณอาจต้อง:
- แทนที่
$(PROCESSOR_ARCHITEW6432)
และ$(PROCESSOR_ARCHITECTURE)
ด้วย$(Platform)
เพื่อพิจารณาเฉพาะแพลตฟอร์มเป้าหมายของโครงการ
- ปรับเปลี่ยนตรรกะการกำหนดแพลตฟอร์มเพื่อให้เหมาะสมกับเครื่องปัจจุบันเพื่อที่คุณจะไม่สร้าง / อ้างอิงไบนารี 64 บิตเพื่อดำเนินการบนแพลตฟอร์ม 32 บิต
แต่เดิมฉันเขียนขึ้นสำหรับ Wiki ภายในที่ทำงานอย่างไรก็ตามฉันได้แก้ไขและโพสต์กระบวนการทั้งหมดลงในบล็อกของฉันแล้วหากคุณสนใจคำแนะนำทีละขั้นตอนโดยละเอียด