无法让SQLite在Linux下的Mono下运行

时间:2017-01-24 18:08:17

标签: c# sqlite mono

我是C#的开销者,我在运行这个SQLite + Dapper演示时遇到了麻烦: https://github.com/mercury2269/SQLiteDemo

我在运行时遇到以下错误:

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    try {
        FlicManager.getInstance(this, new FlicManagerInitializedCallback() {
            @Override
            public void onInitialized(FlicManager manager) {
                manager.initiateGrabButton(MainActivity.this);
            }
        });
    } catch (FlicAppNotInstalledException err) {
        Toast.makeText(this, "Flic App is not installed", Toast.LENGTH_SHORT).show();
    }
}

@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    FlicManager.getInstance(this, new FlicManagerInitializedCallback() {
    @Override
     public void onInitialized(FlicManager manager) {
         FlicButton button = manager.completeGrabButton(requestCode, resultCode, data);
                if (button != null) {
                    button.registerListenForBroadcast(FlicBroadcastReceiverFlags.CLICK_OR_DOUBLE_CLICK_OR_HOLD);
                    Toast.makeText(MainActivity.this, "Grabbed a button", Toast.LENGTH_SHORT).show();

                } else {
                    Toast.makeText(MainActivity.this, "Did not grab any button", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

这些文件位于同一目录下,位于x86和x64文件夹下。我使用Mono在Linux下运行。

现在不知道在哪里看,所以如果你们需要任何其他信息,请问!

更新:

必须将Mono.Data.Sqlite包添加到项目中,并将文件Data \ SqLiteBaseRepository.cs更改为以下内容:

System.DllNotFoundException: System.Data.SQLite.dll

1 个答案:

答案 0 :(得分:0)

如果您明确定位Mono,那么请使用SQLO连接器的Mono版本(从来不知道为什么他们决定打破命名空间兼容性,但这就是他们如何做到的。)

只需将System.Data.SQLite中的参考和使用替换为Mono.Data.SQLite

即可