1

私の質問

例外が発生しました。メッセージは次のとおりです。

Could not load type 'ServiceStack.Common.Extensions.ReflectionExtensions' from assembly 'ServiceStack.Common, Version=3.9.38.0, Culture=neutral, PublicKeyToken=null'.

私のIDEVisual studio 2012はで、Ormlite.Sqlite.32ビットバージョンは3.9.38です。今日からもらったnuget。32ビットバージョンと64ビットバージョンを含む、 Ormlite.Sqlitebyのanyversionを試しました。nuget

私のモデルは以下の通りです

[Alias("ttconfig")]
public class Config : IHasId<int>
{
    [AutoIncrement]
    public int Id { get; set; }

    [StringLength(128)]
    public string Key { get; set; }
    public string Value { get; set; }
}

そして、テーブルを作成するときに例外が発生します。

OrmLiteConnectionFactory fac = new OrmLiteConnectionFactory("Data Source=ttdb.sqlite;", SqliteDialect.Provider);
using (var db = fac.CreateDbConnection())
{
     //! When call CreateTables(), it throw exception.
     db.CreateTables(false, typeof(Config));
}

例外のStackTrace。

StackTraceの内容は次のとおりです

ServiceStack.OrmLite.OrmLiteConfigExtensions.GetModelDefinition(Type modelType)at ServiceStack.OrmLite.OrmLiteWriteExtensions.CreateTable(IDbCommand dbCmd、Booleanoverwrite、Type modelType)in C:\ src \ ServiceStack.OrmLite \ src \ ServiceStack.OrmLite \ OrmLiteWriteExtensions.cs: C:\ src \ ServiceStack.OrmLite \ src \ ServiceStack.OrmLite \ OrmLiteWriteExtensions.cs:の65行目ServiceStack.OrmLite.OrmLiteWriteConnectionExtensionsの42行目。<> c_DisplayClass1.b_0(IDbCommand dbCmd)in C:\ src \ ServiceStack.OrmLite \ src \ ServiceStack.OrmLite \ OrmLiteWriteConnectionExtensions.cs:line 17 at ServiceStack.OrmLite.ReadConnectionExtensions.Exec(IDbConnection dbConn、Action`1 filter)in C:\ src \ ServiceStack.OrmLite \ src \ ServiceStack.OrmLite \ Expressions \ ReadConnectionExtensions.cs:line 55 at ServiceStack.OrmLite.OrmLiteWriteConnectionExtensions.CreateTables(IDbConnection dbConn、Booleanoverwrite、Type [] tableTypes)in C:\ src \ ServiceStack.OrmLite \ src \ ServiceStack.OrmLite \ OrmLiteWriteConnectionExtensions.cs:17行目(TTSampleDataGenerator.Models.TTDbContext.CheckTables())...

アップデート

v3.9.39にアップデートしても、クラッシュします。しかし、v3.9.39バージョンを削除して再インストールすると、問題は修正されます。

4

1 に答える 1

1

こっちも一緒..

最後のコミット/マージ ( https://github.com/ServiceStack/ServiceStack.OrmLite/commit/37e28a0e4e464632870092a065b058ca0caf0d07 ) は、「「ServiceStack.Common.Extensions」名前空間 (現在は廃止されています) への参照を「ServiceStack.Common」に置き換えます名前空間。」

前のコミットは、バージョンを v3.9.38 に更新することに関するものです (最後の nuget バージョン = v3.9.39 ?)

そのため、最後の nuget パッケージがそのコミットの前にアップロードされたかどうかはわかりません (日付は表示されますが、時刻は表示されません ;)) が、最新のソースから Ormlite をコンパイルしたばかりで、うまく動作します..

于 2013-03-05T02:10:33.530 に答える