Reference Visual Studio 2017引用与依赖项

Reference Visual Studio 2017引用与依赖项,reference,dependencies,asp.net-core-mvc,visual-studio-2017,Reference,Dependencies,Asp.net Core Mvc,Visual Studio 2017,我在visual studio 2017中有一个基于.NET 4.7框架构建的.NET核心解决方案 在主web应用程序中,有一个dependencies菜单,它将引用分解为逻辑类别(分析器、程序集、NuGet、项目) 在helper项目中,它只有一个references菜单,里面的一切都很混乱。这里有没有一种方法可以获得与web应用程序相同的待遇 不,你不能得到同样的治疗。这是因为项目类型。不同类型的项目具有不同的工具和特性 在Asp.NETCore之前的旧时代,项目通常只有引用区域,您可以引

我在visual studio 2017中有一个基于.NET 4.7框架构建的.NET核心解决方案

在主web应用程序中,有一个dependencies菜单,它将引用分解为逻辑类别(分析器、程序集、NuGet、项目)

在helper项目中,它只有一个references菜单,里面的一切都很混乱。这里有没有一种方法可以获得与web应用程序相同的待遇


不,你不能得到同样的治疗。这是因为项目类型。不同类型的项目具有不同的工具和特性

在Asp.NETCore之前的旧时代,项目通常只有引用区域,您可以引用其他VisualStudio项目或DLL(您自己的或系统DLL)

但是Asp.NETCore为这类事情提供了一个不同的接口,并为NuGet提供了更好的工具支持。对于Asp.Net核心项目,所有这些都组织在依赖项区域下方


但是,如果在Asp.Net核心项目中右键单击依赖项并选择“添加引用…”,或者在.Net 4.7 Framework库中右键单击引用并选择“添加引用…”,您将看到在这两种情况下,您都会看到相同的对话框。因此,最终用于添加引用的UI中仍然存在一些共性。

它基于项目文件类型。较旧的完整框架项目文件为您提供了“引用”区域,而较新的项目文件为您提供了“依赖项”区域。换句话说,只要它是一个.NETFramework4.7项目,您就无能为力


也就是说,您可以简单地将其设置为一个.NET标准2.0项目,它确实受益于新样式的项目文件。实际上,无论如何,所有类库都应该以.NET标准为目标,以提高互操作性。

我认为造成这种差异的原因是项目“风格”。您可以在SDK样式的项目上访问该菜单,而helper项目可能是传统样式的项目

默认情况下,NET Core和NET Standard项目创建为SDK样式的项目,而NET Framework项目通常创建为传统样式的项目,但是可以迁移它们。SDK样式的项目文件比传统样式的项目文件干净得多

自动执行迁移操作。
以下文章包含一个指南:(,)

如何在不重建项目的情况下将项目转换为这种类型?据我所知,没有简单的方法。然而,简单地创建一个新的.NET标准类库项目,并将所有内容复制到该项目中并不复杂。完成后,您可以删除原始的完整框架库。从技术上讲,我认为您应该能够从一个新的.NET标准类库项目中切换出带有引用副本的项目文件XML,并获得大部分(如果不是全部的话)。但是,我不确定这一点,这样做之后您可能会发现自己有奇怪的错误。当我在Visual Studio 2017中创建新项目时,我没有看到任何依赖项,我像往常一样看到引用。您是如何以这种方式显示依赖项的?