2016-11-15 7 views
1

ServiceStackと一緒にSqllite inmemoryデータベースを実行しようとしています。 Visual Studio .NETの4.6.1CreateParamに実装がありません

コンソールアプリケーション

プラットフォームターゲット(私はそれが正常に動作しているLinqPadで同じコード実行した場合):x64の

インストール・パッケージServiceStack.OrmLiteをそして、このアプリを実行している.Sqlite64

static void Main(string[] args) 
{ 
    OrmLiteConfig.DialectProvider = SqliteDialect.Provider; 

    using (IDbConnection db = ":memory:".OpenDbConnection()) 
    { 

    } 
} 

、私はこのエラーを取得:

を10
An unhandled exception of type 'System.TypeLoadException' occurred in 
ConsoleApplication1.exe 

Additional information: Method 'CreateParam' in type  
    'ServiceStack.OrmLite.Sqlite.SqliteOrmLiteDialectProvider' 
    from assembly 
    'ServiceStack.OrmLite.SqliteNET, 
    Version=4.0.42.0, 
    Culture=neutral,  
    PublicKeyToken=null' does not have an implementation. 

package.json:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="ServiceStack.Common" version="4.5.4" targetFramework="net461" /> 
    <package id="ServiceStack.Interfaces" version="4.5.4" targetFramework="net461" /> 
    <package id="ServiceStack.OrmLite" version="4.5.4" targetFramework="net461" /> 
    <package id="ServiceStack.OrmLite.Sqlite64" version="4.0.42" targetFramework="net461" /> 
    <package id="ServiceStack.Text" version="4.5.4" targetFramework="net461" /> 
</packages> 
+0

packages.configファイルを投稿できますか? – labilbe

答えて

0

ServiceStackのすべてのバージョンでは、参照するすべてのServiceStackパッケージの同じバージョンを必要としています。あなたのpackages.jsonは、廃止されたServiceStack.OrmLite.Sqlite64 NuGetパッケージの古いv4.0.42を参照していることを示しています。

両方OrmLite.Sqlite64OrmLite.Sqlite32は、32ビットおよび64ビットネイティブの.dllが含まれていServiceStack.OrmLite.Sqlite.Windows NuGetパッケージに廃止されました。

PM> Install-Package ServiceStack.OrmLite.Sqlite.Windows 

また、LinuxとWindowsの両方で動作し、ネイティブsqlite3.dllを参照ServiceStack.OrmLite.Sqlite.Mono SqliteをNuGetパッケージを使用することができます。

関連する問題