Dưới đây là những gì tôi đã thực hiện trong một dự án trước đó, sẽ yêu cầu phiên bản thủ công của tệp .csproj. Bạn cũng cần các thư mục riêng cho các nhị phân khác nhau, anh chị em lý tưởng của nhau và có cùng tên với nền tảng bạn đang nhắm mục tiêu.
Sau khi thêm các tham chiếu của một nền tảng vào dự án, hãy mở .csproj trong trình soạn thảo văn bản. Trước <ItemGroup>
phần tử đầu tiên trong <Project>
phần tử, hãy thêm đoạn mã sau, điều này sẽ giúp xác định nền tảng nào bạn đang chạy (và xây dựng).
<!-- Properties group for Determining 64bit Architecture -->
<PropertyGroup>
<CurrentPlatform>x86</CurrentPlatform>
<CurrentPlatform Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">AMD64</CurrentPlatform>
</PropertyGroup>
Sau đó, đối với các tham chiếu cụ thể cho nền tảng của bạn, bạn thực hiện các thay đổi như sau:
<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>
Lưu ý việc sử dụng $(CurrentPlatform)
tài sản, mà chúng tôi đã xác định ở trên. Thay vào đó, bạn có thể sử dụng các điều kiện để lắp ráp cho nền tảng nào. Bạn cũng có thể cần phải:
- Thay thế
$(PROCESSOR_ARCHITEW6432)
và $(PROCESSOR_ARCHITECTURE)
bằng $(Platform)
cách xem xét CHỈ nền tảng mục tiêu của các dự án
- Thay đổi logic xác định nền tảng để phù hợp với máy hiện tại, do đó bạn không xây dựng / tham chiếu nhị phân 64 bit để thực thi trên nền tảng 32 bit.
Tôi đã viết nó ban đầu cho một Wiki nội bộ tại nơi làm việc, tuy nhiên, tôi đã sửa đổi nó và đăng toàn bộ quá trình lên blog của mình , nếu bạn quan tâm đến các hướng dẫn từng bước chi tiết.