3

Visual Studio 2012 で NuGet 経由で OrmLite (MySql 用) をインストールしました。

インストールはエラーなしで成功し、すべての DLL:s が参照として追加されているようです:

ServiceStack.Common (3.9.70.0)
ServiceStack.Interfaces (1.0.0.0)
ServiceStack.Text (3.9.70.0)
ServiceStack.OrmLite (3.9.70.0)
ServiceStack.OrmLite.MySql (3.9.70.0)

コンパイルはエラーを出しません。ただし、この行を実行すると:

dbConnCommOrm.CreateTableIfNotExists<ModuleSettings>();

次に、次のエラーが表示されます。

ファイルまたはアセンブリ 'ServiceStack.Common、Version=3.9.69.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

ServiceStack.Common dll 参照 (NuGet 経由) はバージョン 3.9.70.0 であるため、3.9.69.0 が見つからないことはそれほど奇妙ではありません。

問題は、代わりに 3.9.69.0 が必要なのに、なぜ 3.9.70.0 をインストールするのですか? NuGet の "スクリプト" に何か問題がありますか (またはそれが機能します)、または何が欠けていますか?

奇妙なことに、上記の行で例外が発生しても、テーブル "ModuleSettings" は正しく作成されます。

また、 GitHubから ZIP ファイルをダウンロードし、そこから DLL を抽出しても機能しません。ServiceStack.OrmLite-master\lib/signedフォルダーですが、 ZIP ファイルのどこにもServiceStack.OrmLite.MySql.dllはありません。


また、古いバージョンのインストールも機能しないことを付け加えるかもしれません。私はこれを試しました: http://www.nuget.org/packages/ServiceStack.OrmLite.MySql/3.9.69

PM> インストール パッケージ ServiceStack.OrmLite.MySql -バージョン 3.9.69

そして、それはまだ ServerStack.Common/Text v 3.9.70.0 をインストールしました


どんなヒントでもいただければ幸いです=)

4

2 に答える 2

-1

私のソリューションには、Site、BusinessLogic、DAL というプロジェクトがあります。

呼び出しチェーンの場合: Site -> BusinessLogic -> DAL (ここでは OrmLite)

ServiceStack の結合が緩いため、Site プロジェクトは への参照を取得していませんでしたServiceStack.Common。私の解決策は

インストール パッケージ ServiceStack.Common -Version 3.9.71 -DependencyVersion Highest

サイト プロジェクトの場合。DependencyVersion の使用に注意してください。そうしないと、ServiceStack.Text のバージョンが低くなり、問題が発生します。

于 2014-09-23T20:15:00.157 に答える