【问题标题】:there is no project.json, global.json ... etc on .NET Core Solution with Visual Studio 2017使用 Visual Studio 2017 的 .NET Core 解决方案上没有 project.json、global.json ... 等
【发布时间】:2017-08-04 09:46:20
【问题描述】:

我做了一个项目

File -> New -> Project -> Visual C# -> Web -> ASP.NET Core Web Application     
(.NET Core) -> Empty -> OK

但是没有解决方案和src目录,也没有project.json和web.config等。

我参考了一本使用Visual Studio 2015 的书。这本书的例子有我告诉过的所有文件和目录。但我没有(我使用的是 VS 2017,因为我找不到 .NET Core for VS 2015)。

如何制作这些文件和目录? 我要手动制作这些吗?

【问题讨论】:

  • 没有 project.JSON 了。但是应该有一个解决方案,因为您刚刚创建了一个

标签: c# asp.net asp.net-core


【解决方案1】:

.NET Core 正在以稍快的速度改变其内部结构(尽管它现在似乎已经安定下来),从而使那里的许多教程都过时了。 Since mid-2016,project.json 已被转储以支持“your-app-name”.csproj 文件。

如果您正在学习教程或书籍,那么对于您应该在 project.json 中编写的任何内容,您现在必须将其写入 csproj 文件,格式略有不同。

如果我在学习教程时必须弄乱 project.json,我会使用 this official migration guide

【讨论】:

  • 哦!我会记住的!而且,在我的解决方案中,也没有 *.csproj 文件......我找不到......你能帮我找到它吗??
  • @wallah 通过 Windows 资源管理器查看实际目录,而不是从 Visual Studio 中查看。
【解决方案2】:

.NET Core(和其他团队)已决定放弃 project.json 并返回 MSBuild*.csproj

因此,.net 核心堆栈中不再存在 project.jsonglobal.json
project.json 的替代方案是 *.csprojglobal.json 的替代方案是 *.sln

Old csproj to new csproj: Visual Studio 2017 upgrade guide
for more info


更新:(基于 Stajs 评论)
global.json 仍在堆栈中,但仅用于定义 SDK 版本。

【讨论】:

  • 这是个坏消息 :(
  • 更正:global.json 仍在堆栈中,但仅用于定义 SDK 版本。
  • @Stajs,升级到 CLI 工具的 v15.4.4 后,您可以在项目属性组中定义 SDK 版本:<PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <RuntimeFrameworkVersion>2.0.3</RuntimeFrameworkVersion> </PropertyGroup>
  • @Soren,我阅读the docs 的方式,这些属性都不是 SDK 版本。我很确定现在每个人都理解<TargetFramework><RuntimeFrameworkVersion> 是运行时,独立于 SDK,例如SDK 2.1.3 includes runtime 2.0.4SOGitHub 讨论可能会有帮助。
猜你喜欢
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多