MSB3644 未找到框架“.NETFramework,Version=v4.7.2”的引用程序集 & 未找到导入的项目

主要记录在启动LSpy源码过程中碰到的2个报错

1.未找到框架“.NETFramework,Version=v4.7.2”的引用程序集

2.未找到导入的项目“d:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\MSBuild.Sdk.Extras\Sdk\Sdk.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件

可以忽略【解决过程】,直接关注【解决方案】

 

【现象】:下载ILSpy源码,用vs2017打开,部分工程文件报错,提示如下错误

报错提示

 

【原因】:.NetFramework没有安装4.7.2版本

【解决方案】:

1.通过如下路径下载.NETFramework 4.7.2:

 https://dotnet.microsoft.com/download/dotnet-framework

 

安装.NetFramework

 2.安装以后,可以通过新增项目查看支持的.Net FrameWork版本,如果没有新增的4.7.2,可以重启vs查看

 新建项目中查看.Net FrameWork 已有版本

 【现象2】:未找到导入的项目“d:\XXX\Professional\MSBuild\Sdks\MSBuild.Sdk.Extras\Sdk\Sdk.props”。

依然有工程文件报警,提示如下

 

项目加载失败

尝试重新加载项目以后弹窗报错:

未找到导入的项目“d:\XXX\Professional\MSBuild\Sdks\MSBuild.Sdk.Extras\Sdk\Sdk.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件

【解决过程】:

0.先尝试修复TestPlugin,发现这个报错可能是由于其他项目未生成导致的,先忽略,找到ILSpy

 依赖其他项目

 

 1. 打开ILSpy项目的工程文件,搜索Import关键字,发现如下一处。网上也有类似解决方案,说这里的Import指向的文件不对,但这里似乎跟其他引入项目没有关系

  <Import Project="$(VCToolsVersionPropsFile)" Condition="Exists('$(VCToolsVersionPropsFile)')" />

 2. 仔细查看提示:

未找到导入的项目“d:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\MSBuild.Sdk.Extras\Sdk\Sdk.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件

提到MSBuild.Sdk.Extras,在工程文件里面确实找到一处

 ILSpy工程文件Project

 

3.以MSBuild.Sdk.Extras 作为关键字搜索

https://cloud.tencent.com/developer/article/1341175

发现 MSBuild.Sdk.Extras 是一个程序包,在github上找到 https://github.com/novotnyllc/MSBuildSdkExtras,进一步了解,需要Visual Studio 2017 Update 6 (aka v15.6)版本

【解决方案】:

升级VS版本,至少是vs2017 v15.6+

 

其他:

.NETFramework程序路径

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework

 

posted @ 2020-05-26 17:07  cindyhua  阅读(53)  评论(0)    收藏  举报