1

v3.9.53 から NuGet を使用して更新した後、次のエラーが発生します。

「ファイルまたはアセンブリ 'ServiceStack.Text、Version=3.9.60.0、Culture=neutral、PublicKeyToken=null'、またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。」:"ServiceStack.Text、Version=3.9 .60.0、カルチャ = ニュートラル、PublicKeyToken = null"

問題は、NuGet パッケージが v3.9.63.0 をインストールしたことです。私は以前に 3.9.60 バージョンをインストールしたことがありません。

私がすでに行ったこと:

  • パッケージを削除し、Bin ファイルを削除してから、すべてを再インストールします。
  • 以前のバージョン (v3.9.54) に戻しますが、同じエラーが発生します。

エラーに関する詳細情報:

ソース: ServiceStack.OrmLite

スタックトレース:

at ServiceStack.OrmLite.OrmLiteConfigExtensions.GetModelDefinition(Type modelType)
at ServiceStack.OrmLite.ModelDefinition`1.get_Definition()
at ServiceStack.OrmLite.OrmLiteUtilExtensions.ConvertToList[T](IDataReader dataReader)
at ServiceStack.OrmLite.OrmLiteReadExtensions.Select[T](IDbCommand dbCmd, String sqlFilter, Object[] filterParams)
at ServiceStack.OrmLite.OrmLiteReadConnectionExtensions.<>c__DisplayClass2`1.<Select>b__1(IDbCommand dbCmd)
at ServiceStack.OrmLite.ReadConnectionExtensions.Exec[T](IDbConnection dbConn, Func`2 filter)
at ServiceStack.OrmLite.OrmLiteReadConnectionExtensions.Select[T](IDbConnection dbConn, String sqlFilter, Object[] filterParams)
at DAL.UserCrud.GetAllUsers(Nullable`1& status)
4

1 に答える 1

4

私は時々この問題に遭遇しました。多くの場合、同じナゲット アセンブリ (ServiceStack.Text など) を対象とするソリューションに複数のプロジェクトがある場合に表示されます。1 つのプロジェクトが更新されますが、古いプロジェクトには間違ったバージョンへのアセンブリ参照が含まれています。また、ServiceStack 依存関係を呼び出す独自の nuget パッケージを使用し、その依存関係を同じソリューション内の別のプロジェクトに追加するときにも見てきました。私は何よりもSQLiteでこの問題に遭遇しましたが、同じ修正が適用されると思います:

1) nuget による依存関係のアンインストールと再インストール (および Visual Studio での参照の削除)。ServiceStack.Text はほぼすべての ServiceStack パッケージの依存関係であるため、これはかなりの量のアンインストールと再インストールを意味する可能性があります。

2) app.configに bindingRedirect を追加できます。この場合、「ServiceStack.Text バージョン 0.0.0.0 から 0.3.60.0 が表示される場合は、代わりにバージョン 3.9.63.0 を使用してください」と言っています。この解決策はほとんどの場合うまくいくことに注意してください。ただし、バージョン間で大きな変更があった場合、問題が発生する可能性があります。

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="ServiceStack.Text" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-3.9.60.0" newVersion="3.9.63.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
于 2013-10-01T04:34:45.053 に答える