私は SQLite 用のクラス ライブラリを構築しています。プロジェクトを構築すると、System.Data.SQLite.dll はスタンドアロンの dll ファイルとして提供され、System.Data を追加した単一の dll ファイルでクラス ライブラリとマージする必要があります。 .SQLite.dll をリソースとして追加し、/既存のアイテムを追加してから、埋め込みリソースとして追加します
次に、この静的コンストラクターを名前空間の先頭にドロップします
static SimpleClass()
{
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
if (new AssemblyName(args.Name).Name.ToLowerInvariant() == "System.Data.SQLite")
{
String resourceName = "SQLlite." + new AssemblyName(args.Name).Name + ".dll";
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName))
{
Byte[] assemblyData = new Byte[stream.Length];
stream.Read(assemblyData, 0, assemblyData.Length);
return Assembly.Load(assemblyData);
}
}
else
{
return null;
}
};
}
これにより、エラーCS1518のようなエラーが表示されます: クラス、デリゲート、列挙型、インターフェイス、または構造体が必要です