2017-10-19 19 views
0

Visual Studio for Macを使用して.Net Core 1.1のWebプロジェクトを作成すると、プロジェクトにproject.jsonが存在しません。 this projectを作成する際に間違いはありますか?Visual Studio for Mac project.json

+0

[link](https://www.stevejgordon.co.uk/project-json-replaced-by-csproj)ok、project.jsonを.csprojに変更したようですが、新しい問題があります。 コマンドを使用して、自分のプロジェクトの下で自分のデータベースを初期化し、

+2

プロジェクトのEFコマンドラインツールのツールリファレンスを追加する必要があります –

答えて

1

Project.jsonは本番環境ではリリースされませんでした。 .NET Coreがリリースされる前に、これは新しいvastly simplified MSBuild project formatに置き換えられました。新しい形式はproject.json形式のように動作します。グロビング、パッケージ参照、コンパイルをすべてサポートします*.cs* files found in a folder. You don't need to define dependent packages in the project file any more, you can specify *one* root package and all dependencies will be added when you execute dotnet restore`

.NET Coreでは、.NET CLIにコマンドとして表示されるコマンドレットを追加できます。 dotnet watchdotnet-watch実行ファイルを実行します。 dotnet efdotnet-ef実行ファイルを検索して実行します。

ツールをインストールするMSBuildプロジェクトには、<DotNetCliToolReference>要素を持つオプションを追加する必要があります。その後、dotnet restoreは他のパッケージと同じようにツールをインストールします。

これは、.NET Core Command Line Tools for EF Coreに記載されています。

のMSBuildプロジェクトファイルには、次のようになります。

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <OutputType>Exe</OutputType> 
    <TargetFramework>netcoreapp2.0</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" PrivateAssets="All" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> 
    </ItemGroup> 
</Project> 

このファイルは、プロジェクトをビルドし、すべての*.csファイルは、デフォルト

でコンパイルされるので、コマンドラインから efコマンドを実行する 十分です
+0

dotnet-efコマンドは.csporjファイルを編集してDotNetCliToolReferenceノードを編集した後に正常に実行されました。 Microsoft.EntityFrameworkCore.Tools.DotNet用のバージョン、今はうまくいく –

1

project.jsonは非推奨であり、VS 2015のプレビュー.NETコアツール以外ではサポートされませんでした。新しいツールはcsprojファイルを使用し、Mac用のVS 2017およびVS(およびVSCode、Riderなど)で使用できます。

関連する問題