SheepSpeech Ответов: 0

Как использовать system.data.sqlite с разделенными версиями для x86 и x64 ?


Привет,

Я создаю библиотеку на C# с помощью SQLite. Я хотел бы иметь не более одного (lib.dll) или два DLL (lib.dll и еще System.Data.SQLite.dll) в конце концов.

Сначала я решил использовать только версию x86 System.Data.SQLite.dll, однако на официальном сайте сказано: [^]:

Using Native Library Pre-Loading
... Generally, x86 binaries will work on an x64 machine running Windows (using WoW64). However, there is a problem when using managed code. If the executable that starts the process consists entirely of managed code, it will run with the native processor architecture of the machine, which will be x64 on an x64 machine. ... 


Поэтому, по-видимому, важно также иметь версию x64.

Я видел кое-что о файлах взаимодействия (SQLite.Interop.dll), но они требуют подкаталогов и файлов.

Следовательно, я думал о создании x86-версии моей библиотеки и x64-версии, с другой стороны. System.Data.SQLite.dll файл для каждого.

У меня есть следующие вопросы:
- где я могу найти x64 и x86 версии System.Data.SQLite.dll -что ?
- как я могу сам скомпилировать их из исходного кода?
- есть ли простой способ получить System.Data.SQLite.dll файл как встроенный ресурс, так что в конце концов мне придется распространять только одну dll ?

Спасибо за вашу помощь, пожалуйста, задавайте любые вопросы, если это необходимо.

Что я уже пробовал:

Я нашел кое-какую информацию, но я потерял представление об общей процедуре и о том, где я могу найти файлы.

О версиях: https://stackoverflow.com/questions/18163354/sqlite-dll-for-x86-x64-architectures
О встроенных ресурсах: https://stackoverflow.com/questions/15852061/how-i-make-a-single-executable-with-system-data-sqlite-merge
Страница загрузки: https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

Richard MacCutchan

Вы не можете использовать одну библиотеку dll как для x86, так и для x64.

SheepSpeech

Это не то, о чем я прошу, я хотел бы иметь одну dll для x64, а затем создать x64-версию моей библиотеки, а в другом проекте-dll для x86, а затем создать x86-версию моей библиотеки.

Richard MacCutchan

Итак, в чем же проблема?

SheepSpeech

Вот он:
У меня есть следующие вопросы:
- где я могу найти x64 и x86 версии System.Data.SQLite.dll -что ?
- как я могу сам скомпилировать их из исходного кода?
- есть ли простой способ получить System.Data.SQLite.dll файл как встроенный ресурс, так что в конце концов мне придется распространять только одну dll ?

Richard MacCutchan

На эти вопросы можно ответить по адресу Системы.Данных.Базы Данных SQLite Загрузки Страницы[^].

SheepSpeech

Ну, я нашел в учебнике (https://blog.tigrangasparian.com/2012/02/09/getting-started-with-sqlite-in-c-part-one/) один человек System.Data.SQLite.dll файл для x86, но я не могу найти его на странице загрузки (он всегда ссылается на другие dll, такие как SQLite.Interop.dll). Я хотел бы только 1 dll, как у меня было с этим учебником, но с официального сайта.

Richard MacCutchan

Наверное, ты смотришь на другую страницу.

SheepSpeech

Какой именно?

Richard MacCutchan

Какой из них что?

SheepSpeech

На какой странице Я должен искать версии x64 и x86 System.Data.SQLite.dll -что ?

Richard MacCutchan

Что вы имеете в виду под какой страницей? Я дал вам ссылку в своем сообщении 3 часа назад; она содержит более 30 загрузок для различных версий .NET, 32 и 64 бит. Вы действительно потрудились взглянуть на него?

SheepSpeech

Спасибо, но эта ссылка была в моем первоначальном посте, и я объяснил, что не могу найти то, что мне нужно на этой странице (либо потому, что ее здесь нет, либо потому, что я неправильно ищу): a System.Data.SQLite.dll работает как один файл. И это возможно: я дал вам ссылку на учебник с таким файлом.

Richard MacCutchan

Извините, но я не знаю, в чем ваша проблема. Все, что вам нужно, находится на этой странице загрузки. Если вам нужно создать свою собственную упакованную версию, то загрузите исходный код и создайте его оттуда.

0 Ответов