4

私は.NETコアではなく、.NET Core WebAPIプロジェクトMyWebApp、
も持っています.Net Core Class LibraryプロジェクトMyLib EntityFrameworkCore

を使用して、私はアドオンの移行を使用しようとすると、私はエラーに[... \ MyWebApp \ binに\デバッグ\ netcoreapp1.1 \ MyWebApp.deps.json]が存在しない
指定deps.jsonを取得フォルダを検査

、私は[... \ MyWebApp \ binに\デバッグ\ netcoreapp1.1 win10-x64の\ MyWebApp.deps.json \]

でこのファイルを持って気づきました

しかし、私は本当にこれを解決するために何をやろうとしているのか分かりません。

myWebApiのproject.json:

{ 
    "dependencies": { 
    "ShopManager": "1.0.0-*", 
    "Microsoft.AspNetCore.StaticFiles": "1.1.0", 
    "Microsoft.AspNetCore.Mvc": "1.1.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.1.0", 
    "Microsoft.Extensions.Logging.Debug": "1.1.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0", 
    "Microsoft.NETCore.App": "1.1.0" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 
    "runtimes": { 
    "win10-x64": "" 
    }, 
    "frameworks": { 
    "netcoreapp1.1": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "Areas/**/Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 
+0

ありがとうございました –

+0

'project.json'から' runtimes'セクションを削除しました。他のランタイムを使用しないとすぐに、それは役に立たない。 また、 'Microsoft.EntityFrameworkCore。*'パッケージはどこにありますか?なぜそれらは依存関係に記載されていませんか? – Dmitry

+0

EFCore。*はクラスlibにあります。 RTセクションを削除すると、.NetCore.Appの依存関係に必要なエラーが発生します。 –

答えて

5

runtimesセクションproject.jsonでは疑わしいです。 1つのランタイムのみをビルドするとすぐに、そのランタイムを使用する必要はありません。

これを削除し、依存関係を"Microsoft.NETCore.App":"1.1.0"から"Microsoft.NETCore.App": { "type": "platform", "version": "1.1.0" }に書き換えます。

これは、アプリケーションのデプロイメントモデルを「自己完結型」(フレームワークなしでも特定のプラットフォームで実行できる)から「フレームワーク依存型」(フレームワークがインストールされているすべてのプラットフォームで実行可能)に変更します。詳細are here

+0

複数のプラットフォームをターゲットにする必要がある場合はどうすればよいですか? –

+0

すでに複数のプラットフォームをターゲットにしています。 .NETコアが利用可能なすべてのプラットフォームを、 'ランタイム 'なしで使用できます。ランタイムは、(「.NETコア」を含む)アプリケーションの「自己完結型」配布を行い、ターゲットマシンに.NETコアをインストールせずに実行できるようにする場合に必要です。そして、あなたがこれを望むなら...あなたは安定したツーリングを待つべきです(現在あなたはプレビュー4を使っています)。 – Dmitry

1

私は、Visual Studio 2017でこの問題を持っていた、私は足場がなかった

MCD \デバッグ\のnetcoreapp1.0 \ binにビン\デバッグ\のnetcoreapp1.0からのDLLのを含め、すべてのファイルをコピーします私はbinフォルダにファイルをコピーするまで正しく動作します。私はMCDフォルダが何をしているのかは分かりませんが、何らかの理由でスキャフォールディングプロセスがこのフォルダを調べています。

0

本日の会議ワークショップでこの問題に遭遇しました。 dotnet ef database update -vを実行して冗長な出力を得て、使用されたパスを慎重に調べたところ、問題を引き起こしていたMacに環境変数が設定されていました。

環境内にPROJECTDIRが設定されている場合、dotnetコマンドはこれを使用してパスを解決し、そうであれば予期しない方法で実行します。したがって、この環境変数を.Netコア作業を行っているシェル/環境から削除してください。

関連する問題