Dưới đây là những gì tôi đã làm 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 biệt cho các tệp nhị phân khác nhau, các 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 tài liệu tham khảo của một nền tảng duy nhất vào dự án, hãy mở tệp .csproj trong trình chỉnh sửa văn bản. Trước phần tử <ItemGroup>
đầu tiên trong phần tử <Project>
, hãy thêm mã sau, sẽ giúp xác định nền tảng bạn đang chạy (và đang xây dựng) trên đó.
<!-- Properties group for Determining 64bit Architecture -->
<PropertyGroup>
<CurrentPlatform>x86</CurrentPlatform>
<CurrentPlatform Condition="'$(PROCESSOR_ARCHITECTURE)'=='AMD64' or '$(PROCESSOR_ARCHITEW6432)'=='AMD64'">AMD64</CurrentPlatform>
</PropertyGroup>
Sau đó, để tham khảo cụ thể nền tảng của bạn, bạn thực hiện những 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 các $(CurrentPlatform)
bất động sản, mà chúng tôi định nghĩa ở trên. Thay vào đó, bạn có thể sử dụng các điều kiện để hội đồng nào bao gồm nền tảng nào.Bạn cũng có thể cần phải hoặc là một trong hai:
- Thay
$(PROCESSOR_ARCHITEW6432)
và $(PROCESSOR_ARCHITECTURE)
với $(Platform)
để xem xét CHỈ nền tảng mục tiêu của dự án
- Alter logic quyết nền tảng để có phù hợp với máy tính hiện hành, do đó bạn không xây dựng/tham chiếu một nhị phân 64 bit để thực thi trên nền tảng 32 bit.
Tôi đã viết thư này 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 full process to my blog, nếu bạn quan tâm đến các hướng dẫn từng bước chi tiết.
Rất không rõ ràng, ngôn ngữ này là gì? Dự án DLL có trong giải pháp không? –
Xin lỗi, đây là .NET, tôi đang viết bằng C#. –
Ok, tôi đã giải quyết nó bằng một giải pháp câm: Tạo tệp csproj bổ sung chỉ tham chiếu đến tệp x64 DLL (và đã xóa cấu hình x86 khỏi csproj). Nó hoạt động, nhưng nếu ai đó có một giải pháp thanh lịch hơn mà không liên quan đến một csproj bổ sung, tôi rất muốn nhìn thấy nó. –