Visual Studio for mac project.json

时间:2017-10-19 08:20:37

标签: asp.net-core .net-core visual-studio-mac

当我使用Visual Studio for Mac创建.Net核心1.1的Web项目时,我的项目中没有project.json。我创作时是否有任何错误 this project

2 个答案:

答案 0 :(得分:1)

project.json已弃用,并且在VS 2015中的预览.NET Core工具之外从未受到支持。新工具使用csproj文件,可用于VS 2017和VS for Mac(以及其他类似VSCode) ,骑士,......)。

答案 1 :(得分: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 watch执行dotnet-watch可执行文件。 dotnet ef搜索并执行dotnet-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>

此文件足够来构建项目并从命令行执行ef命令,因为默认情况下将编译所有*.cs个文件