Когда я использую Visual Studio для Mac для создания веб-проекта с .Net core 1.1, в моем проекте нет project.json. Есть ли ошибка при создании этого проекта?
Visual Studio для mac project.json
Ответы (2)
Project.json никогда не выпускался в производство. Он был заменен новым, значительно упростил формат проекта MSBuild до выпуска .NET Core. Новый формат во многом похож на формат 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 для 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
файлы будут скомпилированы по умолчанию.
project.json
устарел и никогда не поддерживался за пределами предварительной версии инструментария .NET Core в VS 2015. Новый инструмент использует csproj
файлы и может использоваться в VS 2017 и VS для Mac (и других, таких как VSCode, Rider,…).