Jetbrains Rider:无法构建 MAUI。net7.0-windows10.0.19041.0 中用于 target-framework 的 Net7 应用,由于 XamlCompiler MSB3073错误.exe

Jetbrains Rider: Unable to build MAUI .Net7 app for target-framework in net7.0-windows10.0.19041.0 due to error Error MSB3073 from XamlCompiler.exe

提问人:XDS 提问时间:11/15/2023 更新时间:11/15/2023 访问量:22

问:

将经典 Xamarin 项目迁移到 .Net7 只有当我尝试使用 Jetbrains Rider 版本 2023.2.2 和安装了所有 Windows 工作负载的 dotnet 7.0.403 在任何配置(发布或调试)中针对 net7.0-windows10.0 进行编译时,我才会感到奇怪。

0>------- Started building project: Foobar.PingPong.Testbed.MauiNet7
"C:\Users\<username>\.nuget\packages\microsoft.windowsappsdk\1.2.221209.1\buildTransitive\..\tools\net5.0\..\net472\XamlCompiler.exe" "obj\Debug\net7.0-windows10.0.19041.0\win10-x64\\input.json" "obj\Debug\net7.0-windows10.0.19041.0\win10-x64\\output.json"
0>Microsoft.UI.Xaml.Markup.Compiler.interop.targets(559,9): Error MSB3073 : The command ""C:\Users\<username>\.nuget\packages\microsoft.windowsappsdk\1.2.221209.1\buildTransitive\..\tools\net5.0\..\net472\XamlCompiler.exe" "obj\Debug\net7.0-windows10.0.19041.0\win10-x64\\input.json" "obj\Debug\net7.0-windows10.0.19041.0\win10-x64\\output.json"" exited with code 1.
0>------- Finished building project: Foobar.PingPong.Testbed.MauiNet7. Succeeded: False. Errors: 1. Warnings: 0

我尝试清理解决方案并从头开始重建 - 每次都出现相同的错误。什么给了?

.NET XAML Xamarin Maui Rider

评论


答:

1赞 XDS 11/15/2023 #1

好吧,在兜圈子几个小时后,我想试一试 Visual Studio 2022,它立即发现了实际问题所在。

文件“Platforms/Windows/App.xaml”是这样的:

<MauiWinUIApplication
    x:Class="Foobar.PingPong.Testbed.MauiNet7.WinUI.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:maui="using:Microsoft.Maui"
    xmlns:local="using:Foobar.PingPong.Testbed.MauiNet7.WinUI">

</MauiWinUIApplication>

但正确的风格是这样的(注意“maui:”前缀):

<maui:MauiWinUIApplication
    x:Class="Foobar.PingPong.Testbed.MauiNet7.WinUI.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:maui="using:Microsoft.Maui"
    xmlns:local="using:Foobar.PingPong.Testbed.MauiNet7.WinUI">

</maui:MauiWinUIApplication>

遗憾的是,Jetbrains 无法发现这个错误来提供像 Visual Studio 那样的明确错误。希望这将为某人节省几个小时不必要的试错时间。