.net - Visual Studio 2017 中引用和依赖项之间的区别
问题描述
当我在 Visual Studio 2017 中创建一个新的 ASP.NET Web 应用程序时,我最终会得到一个包含一个References
元素的解决方案资源管理器。
当我在 Visual Studio 2017 中创建一个新的 ASP.NET Core Web 应用程序时,我最终会得到一个包含一个Dependencies
元素的解决方案资源管理器。此外,在这种情况下,NuGet 没有创建本地packages
文件夹。
为什么会有这种差异?ASP.Net Web 应用程序解决方案是否可以使用相同Dependencies
的元素?
解决方案
显示差异:
您在解决方案资源管理器中查看项目的方式取决于其.csproj
文件的格式。在旧格式(xml 2003 或类似格式)中,您有一个References
子树,其中显示了每个项目引用、包依赖项、系统框架引用和第三方库。
在新格式中,您有一个Dependencies
子树,它又为每种不同类型的依赖关系提供一个子树。
两者的实现方式存在一些差异,但总的来说,唯一的大区别(如果您不进入.csproj
文件等)是它们在解决方案资源管理器中的显示方式。
请注意,此显示取决于项目,因此您可以在同一解决方案中为不同项目提供不同的显示。
NuGet 包:
NuGet 包的使用和还原的差异来自以下方面。旧格式packages.config
默认使用配置,这意味着每个项目都将所有需要的包保存在本地缓存中。另一方面,新格式Package Reference
默认使用配置,解决方案中的所有包都恢复到用户目录中的中央缓存(通常在%user%/.nuget/packages
)。
推荐阅读
- python - Dialogflow 使用 Python 客户端上传带有实体的训练短语
- android - 从排行榜值同步我的游戏本地分数时出现问题
- visual-studio - UIView.Tag 中的 Visual Studio Mac 2019 XAML 逗号导致 null
- javascript - 为什么我的 Firefox 扩展只在本地主机上而不是在任何其他网站上发布数据?
- python - pyparsing - 如何解析逗号以在函数中使用
- python - ValueError: int() 以 10 为底的无效文字:''将条目转换为整数
- pdf - 如果没有嵌入字体,PDF 是否仅限于 4281 个字符(AGL)?如何显示更多字形?
- c++ - 如何在我使用的 arduino 库之一中修复构造函数中的转换错误
- html - 是否有“-webkit-font-smoothing”的通用形式?
- java - 如何使用具有异构视图类型的项目触摸助手?