Visual Studio 2017引用与依赖关系

时间:2017-09-26 17:14:18

标签: reference dependencies asp.net-core-mvc visual-studio-2017

我在Visual Studio 2017中有一个.NET Core解决方案,它是针对.NET 4.7框架构建的。

在主Web应用程序中,有一个依赖项菜单,可将参考分解为逻辑类别(Analyzers,Assemblies,NuGet,Projects)。

Dependencies Menu

在帮助程序项目中,它只有一个引用菜单,里面混杂着一切。有没有办法像Web应用程序一样获得相同的处理?

enter image description here

3 个答案:

答案 0 :(得分:13)

它基于项目文件类型。较旧的Full Framework项目文件为您提供了References区域,而较新的项目文件为您提供了Dependencies区域。换句话说,只要它是一个.NET Framework 4.7项目,你就无能为力。

也就是说,您可以简单地将其作为.NET Standard 2.0项目,它可以从新式项目文件中受益。实际上,无论如何,所有类库都应该以.NET Standard为目标,以实现更高的互操作性。

答案 1 :(得分:1)

不,你不能得到同样的待遇。这是因为项目类型。不同类型的项目具有不同的工具和功能。

在Asp.Net Core之前的日子里,项目通常只有References区域,你可以引用其他Visual Studio项目或Dlls(你自己的或System Dlls)。

但Asp.Net Core为此类事物提供了不同的接口,并为NuGet提供了更好的工具支持。对于Asp.Net Core项目,所有这些都在Dependencies区域下面组织。

但是如果你右键点击Dependencies并选择" Add Reference ..."在您的Asp.Net核心项目中,或右键单击参考文献并选择"添加参考..."在.Net 4.7 Framework库中,您将看到在两种情况下都会显示相同的对话框。因此,最终用于添加引用的UI仍然存在一些共性。

答案 2 :(得分:0)

我认为造成这种情况的差异是项目“风格”。您可以在SDK风格的项目上访问该菜单,而帮助程序项目可能是传统风格的项目。

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

This open-source tool使迁移的要点自动化。 以下文章包含指南:(Part 1part 2