2010-01-30 39 views
17

Tôi muốn tạo phiên bản x86 và x64 của ứng dụng vì một số thư viện tôi đang sử dụng có sự khác biệt đối với x86 và x64 (ví dụ: SQLite). Tôi đã tạo cấu hình mới cho các bản phát hành bản phát hành có hệ điều hành đích "x64".Visual Studio: Các DLL khác nhau cho cấu hình

Có cách nào để xác định các DLL khác nhau cho cấu hình hay không. sử dụng SQLite.dll cho x86 phát hành và SQLite64.dll cho x64 phát hành?

  1. Rất tiếc, tôi không thể sử dụng tùy chọn "nền tảng bất kỳ" mặc định vì không phải là các tệp DLL tương thích x64.
  2. Tôi muốn hỗ trợ x64 thực và không chạy ứng dụng 32 bit trên hệ điều hành x64.
+0

Đây là một câu hỏi hay, tôi có một vấn đề tương tự với một .dll bên thứ 3 mà chúng tôi sử dụng có phiên bản cụ thể 32 và 64 bit, do đó trong khi nó không phải là một vấn đề đối với hầu hết của tôi mã như được quản lý và nhắm mục tiêu CLR - nhận đúng phiên bản của .dll cho các mục tiêu cụ thể là một vấn đề mà tôi chưa giải quyết được – Murph

Trả lời

11

Bạn có thể thêm điều kiện vào tham chiếu dll trong tệp dự án nhưng bạn không thể thực hiện bằng Visual Studio - bạn sẽ phải chỉnh sửa thủ công tệp dự án. Xem this để biết cách thực hiện.

Điều bạn cần làm là bao gồm tham chiếu đến dll 32 bit chỉ trong cấu hình xây dựng 32 bit và tham chiếu đến dll 64 bit trong cấu hình xây dựng 64 bit.

+0

Ở trên là chính xác. Bạn có thể chỉnh sửa thủ công tệp dự án và thêm thuộc tính Điều kiện. –

+0

Wow, thậm chí không biết rằng tôi đang tìm kiếm một câu trả lời cho câu hỏi này, nhưng những tảng đá đó. Tôi có đúng khi nghĩ rằng trong trường hợp này, điều kiện phải là trên $ (Nền tảng), vì đó là độc lập với gỡ lỗi/phát hành? –

+0

@Peter: Có, bạn cần phải thêm một cái gì đó như 'Điều kiện =" $ (Platform) == 'x64' "' vào nút có liên quan trong tệp dự án. – adrianbanks

0

Phiên bản VS nào? Bạn đang phát triển ngôn ngữ nào? Nếu bản địa (= không được quản lý) C++, thực tế tất cả các cài đặt, bao gồm các thư viện đã sử dụng có thể được đặt khác nhau cho mỗi cấu hình. Ở đầu hộp thoại thuộc tính dự án, chỉ cần chọn cài đặt của cấu hình bạn muốn sửa đổi.

+0

so với năm 2008, C# .net 3.5 – Kai

1

Bạn cần điều kiện tham chiếu dll trong tệp dự án.
Điều này sẽ khiến studio trực quan kiểm tra lại điều kiện và tham chiếu bất cứ khi nào bạn thay đổi cấu hình hoạt động.
Chỉ cần thêm điều kiện cho mỗi cấu hình.

Ví dụ:

<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> 
    <Reference Include="DLLName"> 
     <HintPath>..\DLLName.dll</HintPath> 
    </Reference> 
    <ProjectReference Include="..\MyOtherProject.vcxproj"> 
     <Project>{AAAAAA-000000-BBBB-CCCC-TTTTTTTTTT}</Project> 
     <Name>MyOtherProject</Name> 
    </ProjectReference> 
    </ItemGroup> 
Các vấn đề liên quan