0

我有一个包含 ASP.NET Web API 项目的多项目解决方案,所有项目最初都是在 >NET Framework 4.7.2 中构建的。我将解决方案中的一个类库项目更改为多目标:

<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>

我完成了所有工作(为目标框架和 #if NET472_OR_GREATER 整个代码中的语句指定不同的 nuget 包)并且能够构建它。使用 if 语句和目标 nuget 包,该项目对于 net472(仅针对 netstandard 的差异)与多目标之前完全相同。

我已更改 .csproj 文件中引用此项目的所有其他项目的项目引用,如下所示:

  <ProjectReference Include="..\MyProject\MyProject.csproj">
      <SetTargetFramework>TargetFramework=net472</SetTargetFramework>
      <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
  </ProjectReference>

然而,当我运行 Web API 项目(成功构建)时,我得到了错误:

无法加载文件或程序集 'netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。该系统找不到指定的文件。

我究竟做错了什么?Web API 项目应该不需要 .NET Standard 2.1,对吧?

4

0 回答 0