.NET Framework 4.8升级后ProjectReference程序集引用缺失问题
.NET Framework 4.8升级后VS UI构建项目引用失败问题
我了解已有相关讨论,但尝试所有可行方案后仍未解决问题。我有一个包含多个项目的解决方案,项目A引用了项目B,A.csproj中的引用配置如下:
<ProjectReference Include="..\B\B.csproj"> <Project>{795b8266-e62c-4d04-b8eb-cfrf5a31f55x}</Project> <Name>B</Name> </ProjectReference>
近期我将两个项目的目标框架从.NET Framework 4.6.1升级到.NET Framework 4.8。升级后,在VS中构建项目B可成功,但构建项目A时出现大量CS0246错误:“找不到类型或命名空间名称'B'(是否缺少using指令或程序集引用?)”。
奇怪的是,使用VS开发者命令行执行MSBuild solution.sln构建解决方案时无错误,且将引用从ProjectReference改为直接引用DLL(浏览方式)后,错误消失,配置如下:
<Reference Include="B, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\B\bin\Release\B.dll</HintPath> </Reference>
我希望能直接通过VS UI构建解决方案,而非命令行,且不想修改引用(因有大量同类错误引用,不确定改为浏览引用是否合适)。
我已尝试的方案:
- 确认无.NET目标框架不匹配问题,所有项目均使用.NET 4.8
- 在NuGet包管理器控制台执行
Update-Package –reinstall - 删除并重新添加引用
- 清理解决方案后重新构建
- 卸载并重新加载两个项目
- 以管理员模式重启VS
- 删除项目并重新克隆
- 重新定向解决方案至不同Windows SDK版本
- 检查构建顺序,确保项目B先于项目A构建
- 删除
%LocalAppData%\Microsoft\VisualStudio\2019\ComponentModelCache
当前构建模式为Release、Mixed Platforms。
内容的提问来源于stack exchange,提问作者user2401856
相关产品推荐
相关产品推荐

