NuGet 在 macOS 上使用不正确的文件夹结构从私有 NuGet Azure 工件还原解决包

问题描述 投票:0回答:0

我在从私有 NuGet Azure 工件恢复包时遇到问题。当包被恢复时,它们最终被解析为它们的名称作为文件夹结构的一部分。

例如,如果我恢复名为 Package.Name 的包,NuGet 将作为 \.nuget\Packages\package.name .0.0\lib 放置在 .nuget 文件夹中 etstandard2.0\package.name.dll。但是,它应该恢复为 \.nuget\Packages\package.name .0.0\"lib etstandard2.0\package.name.dll”。所以文件被命名为:lib etstandard2.0\package.name.dll,而不是创建文件夹结构。这会在构建期间导致 MSB3106 错误,因为 MSBuild 进程正在正确的目录中查找包,但 NuGet 恢复不会将它放在那里。

我使用的是运行 macOS Ventura 的 MacBook Pro M2。奇怪的是,当我使用像 Newtonsoft.Json 这样的包时,它们会以正确的文件夹结构正常恢复。此外,当我在我的戴尔(运行 Windows)上使用相同的解决方案时,恢复过程正常工作并正确构建。

我尝试还原的解决方案是一个 C# .NET 6 项目。谁能帮我理解为什么会这样以及如何解决它?

我试图通过手动重命名受影响的文件然后尝试构建项目来解决问题。这种方法适用于特定的包,因为错误消息消失了。但是,由于从私有 Azure 项目中还原了 50 多个包,因此这不是一个可扩展的解决方案。此外,每次我清理我的 NuGet 文件夹时,问题都会再次出现。

.net nuget nuget-package-restore
© www.soinside.com 2019 - 2024. All rights reserved.