错误 NETSDK1136 如果使用 Windows 窗体或 WPF,或者引用使用 Windows 窗体或 WPF 的项目或包,则必须将目标平台设置为 Windows (通常通过在 TargetFramework 属性中添加 "-windows")。

发布时间 2023-10-19 10:52:44作者: 流年sugar

背景:

当同一解决方案的项目A引用项目B的时候出现引用异常

 大概意思是项目A的框架类型是.net 7.0,项目B的框架类型是net7.0-windows 两者不兼容

查看了连着的项目类型发现项目B是指定为Windows操作系统(注:建立类库项目B时没有指定操作系统,不知为啥显示指定了)

 类库项目A是没指定

 

试着在此处修改类库项目B的目标OS为无,但无法选中

换成更改类库项目B的项目文件(选中项目右键=>编辑项目文件)

 将TargetFramework的值由net7.0-windows改为net7.0

 重新生成解决方案,出现异常

 

解决方法

编辑项目文件

将UseWPF选项的值设为false,或删除该选项

 此外可以增加选项<ImplicitUsings>enable</ImplicitUsings>的加入<ImplicitUsings>enable</ImplicitUsings>

表示编译器会自动根据项目类型自动隐式加上System等常用命名空间的引入