2017-10-19 4 views
0

Visual Studio for Mac을 사용하여 .Net Core 1.1과 함께 웹 프로젝트를 만들 때 프로젝트에 project.json이 없습니다. this project을 만들 때 실수가 있습니까?Mac 용 Visual Studio 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 형식과 비슷합니다. globbing, 패키지 참조 및 컴파일을 모두 지원합니다. *.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 실행 파일을 검색하여 실행합니다.

<DotNetCliToolReference> 요소가있는 도구를 처음 설치하는 옵션을 MSBuild 프로젝트에 추가해야합니다. 그 후 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

.csporj 파일을 편집하고 DotNetCliToolReference 노드를 편집 한 후 dotnet-ef 명령이 성공적으로 실행되었고 변경되었습니다. Microsoft.EntityFrameworkCore.Tools.DotNet 용 버전, 이제는 잘 작동합니다. –

1

은 더 이상 사용되지 않으며 VS 2015의 미리보기 .NET 코어 도구로는 지원되지 않습니다. 새로운 도구는 csproj 파일을 사용하며 VS 2017 및 VS (Mac 용) 및 VSCode, Rider 등에서 사용할 수 있습니다.