因为要兼容XP,所以新建项目选.NET4,写好代码,编译总是报错
命名空间“ABC”中不存在类型或命名空间名“Core”(是否缺少程序集引用?)
在错误列表里双击查看,文件打开有引用命名空间,也没有报错的地方,错误列表里项也消失了,项目引用也俱全。注释所有引用再编译又正常,撤销又报错,一时找不到原因。
最后在输出中找到了提示:
warning MSB3268: 未能解析主引用“..\Core.dll”,因为它对框架程序集“System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”有间接依赖关系,而在当前目标框架中未能解析该程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“..\Core.dll”,或将应用程序的目标重新指向包含“System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的框架版本。
报错原因:
.NET4项目不支异步async&await写法,所以需要安装Microsoft.Bcl.Async包支持。引用的项目Core安装了,新建的项目也需要安装才能正常引用。
解决办法:
在新建项目里安装Microsoft.Bcl.Async包,编译,通过