1

我有一个概念验证解决方案,其中包含一个 .NET Standard 项目。我使用Paket来管理我的 nuget 依赖项。根据这些说明,我可以使用paket addand向该项目添加 nuget 依赖项。当我重新打开解决方案时,我看到一个文件已添加到该项目中,并且在“解决方案资源管理器”中项目的“依赖项”部分下添加了一个“NuGet”部分。dotnet restorepaket.references

我很好奇,VS2017 如何知道列出“NuGet”部分的依赖项?

根据我上面链接的说明:

与传统的 .NET 项目相比,Paket 不会将程序集引用添加到您的项目文件中。相反,它只会生成一行:

<Import Project="..\..\.paket\Paket.Restore.targets" />

这个钩子告诉 .NET SDK 通过 Paket 的恢复机制来恢复包。一个很好的好处是您的项目文件现在更干净并且不包含许多程序集引用。

我确定我遗漏了一些东西,但我看不到任何东西Paket.Restore.targets可以告诉 Visual Studio 在哪里查找我添加到项目中的 nuget 包的依赖项链。没有直接引用项目文件中提到的任何依赖项。

对于上下文,我有一个 repo,我试图将 .NET Standard 项目添加到一个充满 .NET Framework 项目的解决方案中。我遇到了一个问题,paket add似乎paket.references为新项目正确创建了一个文件,但dotnet restore似乎没有导致项目引用更新,导致我的项目没有引用我正在尝试的 nuget 依赖项有它参考。我在创建可重现的示例时遇到了麻烦(我的概念验证似乎运行良好),因此我试图更好地了解此基础架构如何帮助调试。

4

0 回答 0