构建PCL项目遇错误:未引用.NETPortable v4.5 Profile78框架
解决PCL项目中NuGet提示缺少.NETPortable Profile78引用的问题
这个错误是因为你项目依赖的NuGet包需要针对.NETPortable,Version=v4.5,Profile=Profile78这个框架的支持,但你的项目配置里还没添加这个框架引用。下面是具体的解决步骤:
- 首先找到项目根目录下的
project.json文件(这是旧版.NET Core/PCL项目的配置文件),用文本编辑器或Visual Studio打开它。 - 在
frameworks节点中添加对目标框架的引用,示例配置如下:
"frameworks": { ".NETPortable,Version=v4.5,Profile=Profile78": {} }
如果你的项目已经有其他框架目标,只需把这个节点追加进去即可,比如:
"frameworks": { "net46": {}, ".NETPortable,Version=v4.5,Profile=Profile78": {} }
- 保存文件后,重新执行NuGet还原操作:
- 在Visual Studio中,右键项目选择「管理NuGet程序包」,点击界面上的「还原」按钮;
- 或者在Package Manager Console中运行命令:
Update-Package -reinstall; - 如果你使用.NET CLI,执行
dotnet restore命令即可。
- 如果完成上述步骤后错误依然存在,可以尝试清理项目(右键项目→清理),然后重新生成整个解决方案。
针对SDK风格项目(.csproj文件)的补充说明
如果你的项目是较新的SDK风格(使用.csproj而非project.json),则需要直接在.csproj文件中添加对应的目标框架。Profile78对应的兼容框架集是.NET Framework 4.5 + Windows 8 + Windows Phone 8 + Windows Phone App 8.1,你可以这样配置:
<PropertyGroup> <TargetFrameworks>net46;portable45-net45+win8+wp8+wpa81</TargetFrameworks> </PropertyGroup>
保存后重新还原NuGet包并生成项目即可。
内容的提问来源于stack exchange,提问作者Grigory
相关产品推荐
相关产品推荐

