【发布时间】:2020-03-31 00:54:59
【问题描述】:
Visual Studio 2019
我有一个.NET Core 解决方案,它需要引用单个.NET Framework 包,只是为了将包内容扩展到packages 文件夹,以便可以使用一些工具。
在我的.csproj 我有这行:
<PackageReference Include="roundhouse" Version="1.1.0" TargetFramework="net472" />
我发现当我构建我的解决方案(在本地开发人员Visual Studio 或TeamCity 中)时,有时NuGet 会将我的包恢复到这个文件夹结构:
\packages\roundhouse.1.1.0\roundhouse.1.1.0.nupkg
这就是它目前正在做的事情。
但是在另一台开发机器上(以及在TeamCity Build Agent 上),构建会创建这个文件夹结构:
\packages\roundhouse\1.1.0\roundhouse.1.1.0.nupkg
注意细微差别。
我无法弄清楚可能导致这些不同的行为。我找不到任何与NuGet 包文件夹结构相关的配置设置。
有人知道吗?
【问题讨论】:
-
嗨 BaltoStar,这个问题有更新吗?我检查了您上面的行,发现这不是正常的 PackageReference 格式。它看起来像 package.config 和 packageReference 的组合...我认为这可能是您遇到的奇怪行为的原因,如果您删除“TargetFramework="net472"` 并运行重建,结果会是什么,可以吗?让奇怪的行为消失?如果它仍然阻止您,请随时告诉我们,我们会尽力提供帮助,并希望它可以帮助其他有类似问题的成员。谢谢 :)
-
嗨,BaltoStar,您是否尝试过 Lance 的建议来解决您的问题?顺便说一句,
TargetFramework="net472"表示将包安装到属于框架 4.7.2 的项目中,因此它根本不适合 .net 核心项目。如果您有任何疑问,请随时告诉我们。 -
我知道在
netcore项目中包含net472包是不正常的,但我需要强制解包此包的文件并位于package文件夹中,因为我需要将它们用作工具。据我所知,它不会引起任何问题。我从来不明白为什么有时它会被解包到一个稍微不同的文件夹结构中。
标签: visual-studio package nuget restore roundhouse