项目.json工具现在应该放在哪里?

4
我将为您翻译以下内容:

我正在按照Entity Framework Core指南逐步操作。在某个时候,它要求您:

找到工具部分,并像下面所示添加 Microsoft.EntityFrameworkCore.Tools.DotNet包

project.json

"tools": {
   "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final",
   "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
   "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
 },

据我所知,project.json 已经不再使用了。那么我应该在哪里添加这个值呢?是在项目文件中吗?

你正在使用VS2015还是VS2017RC?xporj还是csproj? - Sanket
我正在使用VS2017RC。 - SiberianGuy
2个回答

6
project.json/xproj格式中,它在project.json的顶级位置:https://learn.microsoft.com/en-us/dotnet/articles/core/tools/project-json#tools 在新的csproj系统中,它由DotNetCliToolReference表示。我找不到相关文档,只有通过阅读dotnet-migrate源代码才发现。
一个例子如下:
<Project ...>
  <Import .../>
  <PropertyGroup .../>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet">
      <Version>1.0.0</Version>
    </DotNetCliToolReference>
  </ItemGroup>
</Project>
dotnet-migrate 的更完整的输出示例在这里

但是 project.json 已经消失了:https://github.com/aspnet/Home/issues/1433。或者我理解错了吗? - SiberianGuy
目前为止,.NET Core 1.0和1.1都使用project.json文件。csproj的相关内容仍在开发中,存在一些问题。正如微软开发人员所说,下一个版本(当前为preview5)将会有适当的支持 - omajid
嗯...我刚在VS2017中创建了一个.NET Core类库,但我没有看到其中的package.json文件。 - SiberianGuy
啊,Visual Studio使用它自己的东西。它是.NET Core 1.0的一个变体 - 除了它使用csproj而不是project.json之外,在其他任何地方都不可用。我在Visual Studio中找不到关于“tools”的任何信息:( - omajid
我读了 dotnet-migrate 的源代码,发现了 DotNetCliToolReference。更新后的答案。 - omajid

0

我在Announcing Entity Framework Core 1.1中找到了答案:

如果您正在使用Visual Studio 2017 RC中的新.NET Core工具MSBuild Alpha,则工具故事更加复杂。这是一个时间问题,随着.NET Core Tools MSBuild支持的稳定,将得到解决。

在此阶段,您应该在Visual Studio中使用包管理器控制台命令(Add-Migration、Update-Database、Scaffold-DbContext等)。.NET Core CLI命令(dotnet ef)目前无法与.NET Core Tools MSBuild Alpha一起使用。

长话短说:它尚未得到支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接