You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级引用项目至.Net Standard 2.0后无法编译UWP类库

解决UWP项目引用.NET Standard 2.0类库时的DateTime编译错误

我来帮你搞定这个编译错误,这是升级.NET Standard和UWP SDK后很常见的配置冲突问题,试试下面几个针对性方案:

1. 检查并更新UWP项目的NuGet依赖

右键你的UWP项目,选择「管理NuGet程序包」,找到Microsoft.NETCore.UniversalWindowsPlatform包:

  • 确保这个包的版本至少是6.0.10(该版本开始全面支持.NET Standard 2.0),如果当前版本偏低,直接升级到兼容SDK 16299的最新稳定版。
  • 安装完成后重启VS,再尝试重新编译。

2. 手动修正UWP项目的.csproj配置

如果NuGet升级没解决问题,直接编辑UWP项目的.csproj文件,添加或修改以下配置:

<PropertyGroup>
  <!-- 确认目标SDK版本为16299 -->
  <TargetPlatformVersion>10.0.16299.0</TargetPlatformVersion>
  <TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>
  <!-- 明确指定.NET Standard的引用版本 -->
  <NetStandardImplicitPackageVersion>2.0.0</NetStandardImplicitPackageVersion>
</PropertyGroup>

这个配置会强制UWP项目关联正确的.NET Standard 2.0程序集,避免类型引用冲突。

3. 显式添加netstandard程序集引用

如果上面的步骤还是无效,直接在.csproj里添加对netstandard.dll的显式引用:

<ItemGroup>
  <Reference Include="netstandard">
    <!-- 替换成你本地netstandard.dll的实际路径,通常在.NET Core SDK安装目录下 -->
    <HintPath>C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.0\netstandard.dll</HintPath>
    <Private>True</Private>
  </Reference>
</ItemGroup>

注意:根据你本地的.NET Core SDK安装路径调整HintPath的值。

4. 清理重建解决方案

最后别忘了执行这步操作,彻底清除旧的编译缓存:

  • 右键解决方案,选择「清理解决方案」
  • 删除UWP项目和.NET Standard类库的bin、obj文件夹
  • 右键解决方案,选择「重新生成解决方案」

错误原因说明

当你把.NET Standard类库升级到2.0,同时UWP项目切换到SDK 16299时,项目可能没有自动正确关联.NET Standard 2.0的程序集。DateTime类型在.NET Standard 2.0中的定义和旧版本的引用路径存在冲突,导致编译器无法找到正确的类型定义,所以需要通过配置明确指定引用的netstandard版本。

内容的提问来源于stack exchange,提问作者Dishant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:54:55