.NET Standard在.NET Framework 4.7.2项目中无法运行求助
解决.NET Framework 4.7.2引用.NET Standard依赖包后的CS0012错误
手动编辑项目文件强制添加正确引用
有时候通过Visual Studio UI添加的引用未正确写入项目配置,直接修改.csproj文件,添加以下节点(替换为你实际的文件路径):<Reference Include="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades\netstandard.dll</HintPath> <Private>False</Private> <SpecificVersion>False</SpecificVersion> </Reference>保存后重新加载项目。
彻底清理重建项目
- 删除项目目录下的
bin和obj文件夹; - 清除NuGet本地缓存,执行命令:
dotnet nuget locals all --clear - 在Visual Studio中执行「清理解决方案」→「重建解决方案」。
- 删除项目目录下的
添加绑定重定向配置
在项目的app.config文件中,添加netstandard的绑定重定向节点,确保版本统一:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="netstandard" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>更新.NET Framework 4.7.2补丁
安装.NET Framework 4.7.2的最新累积更新(如KB4578968),修复框架对.NET Standard兼容的已知问题。排查NuGet包的实际依赖
部分标为支持.NET Standard的包可能隐式依赖更高版本的特性,使用NuGet包管理器查看依赖链,确认是否有包强制要求.NET Framework 4.8,尝试替换为兼容.NET Framework 4.7.2的包版本。
内容的提问来源于stack exchange,提问作者meJustAndrew
相关产品推荐
相关产品推荐

