C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1179,5): error MSB3644: 未找到框架“.NETFramework,Version=v4.0”的引用程序集。若要解决此问题,请安装此框架版本的 SDK 或 Targeting Pack,或将应用程序的目标重新指向已装有 SDK 或 Targeting Pack 的框架版本。请注意,将从全局程序集缓存(GAC)解析程序集,并将使用这些程序集替换引用程序集。因此,程序集的目标可能未正确指向您所预期的框架。

项目类型是makefile,改为application则不会出现该问题。

gdal_vs2017.vcxproj

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.targets

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Current.targets,分歧发生在这里

<Import Condition="'$(ConfigurationType)' != 'Makefile'" Project="$(_PlatformFolder)\Platform.targets"/><Import Condition="'$(ConfigurationType)' == 'Makefile'" Project="$(VCTargetsPath)\Microsoft.MakeFile.Targets"/>

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.targets

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.targets

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets,问题出现在这里

<GetReferenceAssemblyPathsCondition="'$(TargetFrameworkMoniker)' != '' and ('$(_TargetFrameworkDirectories)' == '' or '$(_FullFrameworkReferenceAssemblyPaths)' == '')"TargetFrameworkMoniker="$(TargetFrameworkMoniker)"RootPath="$(TargetFrameworkRootPath)"TargetFrameworkFallbackSearchPaths="$(TargetFrameworkFallbackSearchPaths)"BypassFrameworkInstallChecks="$(BypassFrameworkInstallChecks)"><Output TaskParameter="ReferenceAssemblyPaths" PropertyName="_TargetFrameworkDirectories"/><Output TaskParameter="FullFrameworkReferenceAssemblyPaths" PropertyName="_FullFrameworkReferenceAssemblyPaths"/><Output TaskParameter="TargetFrameworkMonikerDisplayName" PropertyName="TargetFrameworkMonikerDisplayName" Condition="'$(TargetFrameworkMonikerDisplayName)' == ''"/></GetReferenceAssemblyPaths>

根本问题在这里:

<PropertyGroup Condition="'$(TargetRuntime)' == ''"><TargetRuntime>Managed</TargetRuntime>
</PropertyGroup>

TargetRuntime的取值为Managed、Native、AppHost,

解决办法,在gdal_vs2017.vcxproj增加一行<TargetRuntime>Native</TargetRuntime>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"><ConfigurationType>Makefile</ConfigurationType><UseDebugLibraries>true</UseDebugLibraries><PlatformToolset>v141</PlatformToolset><CLRSupport>false</CLRSupport><TargetRuntime>Native</TargetRuntime></PropertyGroup>

非clr项目不允许设置.NETFramework

C++学习(三五二)未找到框架“.NETFramework,Version=v4.0”的引用程序集相关推荐

  1. VS2019 MSB364 未找到框架“NETFramework,Version=v4.7”

    环境: WIN 10  VS2019 问题: 在打开一些项目时,编译报 MSB364 错误,未找到框架"NETFramework,Version=v4.7"尝试安装或重定向应用程序 ...

  2. 未找到框架“.NETFramework,Version=v4.6.1”的引用程序集 的解决办法

    错误信息: 未找到框架".NETFramework,Version=v4.6.1"的引用程序集.若要解决此问题,请安装此框架版本的 SDK 或 Targeting Pack,或将应 ...

  3. VS2022打开项目之后提示:找不到 .NETFramework,Version=v4.0 的引用程序集。要解决此问题,请为此框架版本安装开发人员工具包(SDK/目标包)或者重新定向应用程序。

    问题: 使用 vs2022打开带有.net4.0的项目会报错 严重性 代码 说明 项目 文件 行 列 禁止显示状态 错误 MSB3644 找不到 .NETFramework,Version=v4.0 ...

  4. vs2022,python,找不到 .NETFramework,Version=v4.0 的引用程序集。

    旧的vs2019创建的python 项目,用vs2022打开编译出现如下错误. 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 找不到 .NETFramework,Version=v4.0 的 ...

  5. 关于未能找到源文件“.NETFramework,Version=v4.0.AssemblyAttributes.cs”问题

    为了解决上述问题,找资料找了一下午,修复vs也解决不了,出现此问题是由于手动更改了"C:\Users\xxx\AppData\Local"文件权限的问题,什么显示呀,隐藏呀,解决测 ...

  6. 未能解析引用的程序集......因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”中的 (转)...

    解决方法:资源管理器下点击项目名(右键)属性--将.NET Framework 4 Client Profile改成.NET Framework 4 . 传送门:http://bbs.csdn.net ...

  7. 未能解析主引用“Fiddler”,因为它是针对“.NETFramework,Version=v4.6.1”框架生成的。该框架版本高于当前目标框架“.NETFramework,Version=v4.5

    警告        未能解析主引用"Fiddler",因为它是针对".NETFramework,Version=v4.6.1"框架生成的.该框架版本高于当前目标 ...

  8. compilation targetFrameworkMoniker=.NETFramework,Version=v4.0

    把应用程序升级至.NET Framework 4.0之后,出现一个问题,即是Web.config文件中的Compilation 节点配置不正确. 需要在Compilation 添加一个属性target ...

  9. 指向“netstandard2.0”。它不能被指向“.NETFramework,Version=v4.0”的项目引用 必须添加对程序集 netstandard

    netstandard2.0  只能被 .NETFramework 4.6.1 ++版本 引用

最新文章

  1. golang源码分析:调度器chan调度
  2. Viber4android,Viber更新4.0 推出全新贴纸市场,并支持安卓平板
  3. [小算法] 找出单链表中的中间元素
  4. linux信号掩码线程,20.10 信号掩码(阻塞信号传递)
  5. 复合火焰探测传感器_暨南大学:基于垂直碳纳米片阵列的火焰合成碳泡沫的复合传感器...
  6. C#中对虚拟属性和抽象属性的重写,重写label实例
  7. 一次线上ctf的网络协议分析
  8. python中none算变量吗_在python中对变量判断是否为None的三种方法总结
  9. 【elasticsearch】ES 相似文章检测
  10. 机器学习基础(三十四)—— 协同过滤(之获得推荐)
  11. android权限管理, API劫持, xposed, xprivacy
  12. UltraEdit脱机注册免费使用版本
  13. 【12c】直方图Histograms
  14. 研究生如何学习与科研的几点建议——来自一枚菜博的愚见
  15. 5G China unicom 直放站 网管协议 实时性要求
  16. 推荐系统常用数据集介绍
  17. Java程序设计——随机点名器
  18. 软件架构设计最佳实践(课程大纲)
  19. 从2010 IDF 看英特尔固态硬盘现状及策略
  20. 基于Gevent的firefly重要迭代版本推出

热门文章

  1. Redis进阶知识一览
  2. pandas库函数学习笔记
  3. [日推荐]『法条大全』小程序成法庭利器!
  4. 三种前端实现VR全景看房的方案!
  5. 纯div+css3代码绘制可爱小女孩
  6. 网页的组成、HTML概述、标签
  7. 蓝桥杯 Java n皇后受伤的皇后2n皇后 详解
  8. SAP MM采购申请审批-成本中心
  9. 【Python训练营】Python每日一练----第10天:受伤的皇后
  10. 51单片机学习历程——硬件准备&开发环境搭建