我使用升级助手 (https://dotnet.microsoft.com/platform/upgrade-assistant/) 将 .NET Framework 4.5.2 类库迁移到 .NET 5.0,并在 3 天后尝试修复随后的构建错误:
C:\ Program Files \ dotnet \ sdk .0.300 \ Sdks \ Microsoft.NET.Sdk.WindowsDesktop argets \ Microsoft.WinFX.targets(240,9):错误MC1000:未知构建错误,“找不到类型”程序集 'C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref .0.0 中的 System.Web.UI.TagPrefixAttribute' 埃夫 et5.0\System.Web.dll'.' [已编辑.csproj] 0 警告 1 个错误
双击 Visual Studio 中的错误会将我带到 Microsoft.WinFX.Targets 文件中的以下位置:
根据 Microsoft 文档,“MarkupCompilePass1 任务将不可本地化的 XAML 项目文件转换为已编译的二进制格式”。该类库包含 WinForms 和 WPF 控件。这意味着一个(或多个)WPF 控件存在问题,但代码中没有“TagPrefixAttribute”的显式实例,所以我很困惑。 TagPrefixAttribute“定义网页中用于标识自定义控件的标记前缀。” - DLL 由 Windows 桌面应用程序引用(与 Web 无关)。
我创建了一个二进制日志,并使用 MSBuild 结构化日志查看器对其进行了检查,但没有获得任何更多信息(我是 MSBuild 的长期用户,但幸运/不幸的是,我从来没有必要深入了解这个级别的内容) ,所以也许我没有看对地方):
StackOverflow 上此错误的唯一其他实例是这个问题:
如何修复错误 MC1000 未知构建错误,“找不到类型‘System.Web.UI.TagPrefixAttribute’
那个人引用了导致问题的特定 DLL,因此解决方案是显而易见的。
我一直在推迟 NetFx 对 .NET Core 的急需推动,如果有人能够对这个问题提供一些见解,我会很高兴的!
我有同样的错误消息。我删除了所有 DevExpress Dll,只添加了那些在编译时出现错误的 Dll。结果,一些 DevExpress DLL 被删除,项目编译时没有出现“未知构建错误”。
我也有同样的问题。我正在升级到 NET 8,它显示了同样的错误
'在程序集'C:\ Program Files \ dotnet \ packs \ Microsoft.NETCore.App.Ref \ 8.0.1中找不到类型'System.Web.UI.TagPrefixAttribute' 埃夫 et8.0\System.Web.dll '.'C:\Program Files\dotnet\sdk\8.0.101\Sdks\Microsoft.NET.Sdk.WindowsDesktop argets\Microsoft.WinFX.targets
我继续搜索,但找不到任何可以为我提供解决方案的金块包。我还删除了所有 DevExpress,但什么也没删除。
有人解决了吗?