2

状況があります。弊社では.net上にフレームワークを構築しており、そのフレームワークを利用して開発された製品で利用されています。現在、このフレームワークは最初に EF コードを使用しています。エンティティがフレームワーク プロジェクトの 1 つにあるため、生成された移行定義を使用して EF コード移行を実装したいと考えています。だから私はそれを実装しました。しかし、状況はこのフレームワークであり、Nuget パッケージ (内部) として他の製品に配布しています。

ここで、ProductAが、移行が有効になっている xyz.dll を含むパッケージを使用しているとします。「ProductA」の開発者は、最初にその xyz.dll 移行を使用してフレームワーク EF コードによって作成されたデータベースをアップグレードしたいと考えていますが、この dll は参照される dll としてのみ追加されます。プロジェクトが現在のソリューションになく、その参照dllにあるため、Update-Databaseなどのパッケージマネージャーコンソールでコマンドを実行しても機能しません

これを解決するにはどうすればよいですか?

4

1 に答える 1

2

これは実際には非常に簡単に解決できます。nuget パッケージを追加するプロジェクトも EF を参照する必要があります。

実際には、依存関係を使用して nuget パッケージ内でこれを強制できます。

    <dependencies>
        <dependency id="EntityFramework" version="4.2.0.0" />
    </dependencies>

あなたのnuspecで(明らかに、使用しているバージョンでバージョンを更新してください)

参照: http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Dependencies

http://docs.nuget.org/docs/reference/versioning#Specifying_Version_Ranges_in_.nuspec_Files

依存関係の構文がどのように機能するかについての詳細

于 2013-08-22T21:58:13.547 に答える