当我使用创建一个具有.Net核心1.1的web项目时,我的项目中没有project.json。创建这个项目时是否有错误?
发布于 2017-10-19 11:04:16
Project.json从未在生产中发布过。在大大简化的MSBuild项目格式内核发布之前,它被一个新的.NET取代了。新格式非常类似于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 executedotnet restore`‘
.NET核心允许您将以命令形式出现的命令添加到.NET CLI。dotnet watch执行dotnet-watch可执行文件。dotnet ef搜索并执行dotnet-ef可执行文件。
您必须向MSBuild项目添加一个选项,该项目首先使用<DotNetCliToolReference>元素安装该工具。在此之后,dotnet restore将像其他软件包一样安装该工具。
这在EF核的.NET核心命令行工具中有描述。
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文件。
发布于 2017-10-19 10:49:40
project.json是不受欢迎的,并且在VS 2015中从来不支持外部预览.NET核心工具。新工具使用csproj文件,可以在VS 2017和VS用于Mac (以及其他如VSCode、Rider、…)中使用。。
https://stackoverflow.com/questions/46825518
复制相似问题