2017-04-12 20 views
6

私のサーバーに新しい.NETコアアプリケーションを展開しています。プロジェクトが「コードファースト」メソッドを使用して作成されたため、EntityFrameworkの移行を実行しようとしています。パッケージのバージョン「Microsoft.EntityFrameworkCore.Tools.DotNet」を再解決できませんでした

に実行されるコマンドは

移行しかし、サーバー上で、私はエラーを受け取り、問題なく視覚的なスタジオを使用してローカルに動作し

DOTNET EFデータベースの更新です。

Microsoft.EntityFrameworkCore.Tools.DotNetのバージョンを解決できませんでした。過去ログの私の開発マシン上

バージョンは、1.0.0

過去ログの私のサーバー上のバージョン1.0.1

私のプロジェクトは、.csprojファイル(ないproject.jsonを使用していますですそれはもはや使用されていない)。

私はcsprojファイルへの参照を追加しましたが、バージョンに関係なく、上記のエラーが発生します。

します。C:\ Program Files(x86の)\ジェンキンス

<ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" /> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" /> 
    </ItemGroup> 

アップデートは

は基本的に私はNUGETを使用してコマンドラインからMicrosoft.EntityFrameworkCore.Tools.DotNetをインストールしようとしています\ workspace \ api.XXX.com \ XXXProject> nuget i nstall Microsoft.EntityFrameworkCore.Tools.DotNet

次に、次のメッセージが表示されます。

警告:インストールに失敗しました。ロールバック... ナゲットアクションの実行には13.44秒かかりました パッケージ 'Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.0'は、プロジェクト 'C:\ Program Files(x86)ではサポートされていないパッケージタイプ' D otnetCliTool ' orkspaceワット\ジェンキンス\ \ api.XXX.com \ XXXProject'.`

私はDOTNETのEFコマンドを実行した場合次に、私はこれを取得:

C:\プログラムファイル(x86の) ¥Jenkins¥workspace¥api.desully.com¥deSullyAPI_Core> dotnet ef update database

パッケージMicrosoft.EntityFrameworkCore.Tools.DotNetのバージョンを再解決できませんでした。

更新#2

私のdevのマシンは、サーバー上のバージョン

のDevボックス enter image description here

生産ボックス enter image description here

よりも、それで異なるSDKのバージョンを持っていることに気づきました

私は、問題は1.0.1にMicrosoft.EntityFrameworkがないと仮定していますそこにCore.Tools.DotNet?それは古いバージョンでは奇妙ではないですか? 3

アップデートだからFYI - 私は(私のサーバーにインストールされていないようでしたので)SDKの1.0.0バージョンをダウンロードしようとするMicrosoft Siteに行ってきました。残念ながら、MSのサイトは私に1.0.1バージョンのフィードを強制しているようです(これは私が必要とするEFのものを含んでいませんか?)。

私のdevboxからプロダクションサーバに1.0.0ディレクトリをコピーしようとしましたが、それも動作していないようです。私はここで何が欠けていますか?

答えて

19

Microsoft.EntityFrameworkCore.Tools.DotNet(執筆時点で)の1.0.1バージョンはありません。パッケージを復元するには、Version="1.0.0"を設定する必要があります。

利用可能なバージョンはlisted on NuGetです。

更新:

CLIツールを使用するには、まずあなたが既に持っている持っているように<DotNetCliToolReference>項目を追加する必要があります。

次に、プロジェクトのディレクトリにdotnet restoreを呼び出して、パッケージをローカルキャッシュにダウンロードすると、ツールは使用可能になり、dotnet efを使用できます。

+0

私はそこで異なる数字を試していましたが、1.0.0でも同じ問題がありました。 – footose

+0

さらに詳しい情報を入力してください:どのツール/コマンドが実行されますか?正確なエラーメッセージは何ですか? etc –

+0

スレッドを更新しました。申し訳ありませんが、ここで少し新しいです。更新された回答 – footose

関連する問題