我有一个问题,以便可以更好地了解NuGet
软件包,packages.config
和.csproj
文件。
据我了解,NuGet软件包管理器>>常规中的默认软件包管理格式设置决定了您的项目是使用packages.config
还是.csproj
文件来解析和还原软件包。
在我的项目中,我们选择了Packages.config。
它可以编译并运行。因此,我决定测试它是否可以在dll
文件中没有对.csproj
的引用的情况下运行,因为据我了解,它不使用或不需要此引用。这是一个错误的假设,好像程序包在packages.config
文件中一样,当我在.csproj
文件中删除引用时,我的项目中存在错误,并且该项目无法编译。
我还注意到,如果dll
的引用中没有Solution Explorer
,它也将无法编译(我假设这些是.csproj
引用)。
因此,我不清楚.csproj
包的Packages.config
管理格式的NuGet
文件的作用以及Solution Explorer
中的引用。
答案 0 :(得分:1)
区别在于您如何管理NuGet引用。
在VS2017之前,信息将在组装期间使用的NuGet软件包存储在文件packages.config中。
自VS2017开始,有一个名为包引用的新选项,该选项将这些信息存储在项目(.csproj)文件中。
https://devblogs.microsoft.com/nuget/migrate-packages-config-to-package-reference/