尝试管理 Nuget 包时找不到 MSBuildProjectExtensionsPath MSBuild 属性

MSBuildProjectExtensionsPath MSBuild Property Could Not be Found When trying to Manage Nuget Packages

我今天在我的解决方案中尝试管理单元测试项目上的 nuget 包时遇到了一个奇怪的错误:

我查看了此 属性 的文档:https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2019 并提到此 属性 是道具或目标文件的一部分。我的解决方案没有其中之一。我继续修改 csproj 以添加 属性: <MSBuildProjectExtensionsPath /> 到适当的构建 属性 组,它也没有检测到它。我查看了另一个让我成功使用 nuget 包的项目,它根本没有 属性。

有人知道发生了什么事吗?

我放弃了想办法。我创建了一个新项目并输入了我的代码 files/references。

您可能不小心从项目文件中删除了以下行:

  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

MSBuildProjectExtensionPath 定义在 Microsoft.Common.props

<MSBuildProjectExtensionsPath>$([MSBuild]::EnsureTrailingSlash($([MSBuild]::ValueOrDefault('$(MSBuildProjectExtensionsPath)', '$(BaseIntermediateOutputPath)'))))</MSBuildProjectExtensionsPath>

因此您可能会错过在项目开始时导入该文件的机会。

<Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)\Microsoft.Common.props')" />