`Microsoft.ui.xaml.dll` 无法加载
Posted
技术标签:
【中文标题】`Microsoft.ui.xaml.dll` 无法加载【英文标题】:`Microsoft.ui.xaml.dll` is unable to load 【发布时间】:2022-01-03 02:48:41 【问题描述】:我的 WinUI3 应用程序出现异常,Microsoft.ui.xaml.dll
无法加载。我在 nuget 中包含了 Microsoft.UI.Xaml 和 Microsoft.Graphics.Win2D。
System.DllNotFoundException
HResult=0x80131524
Message=Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)
Source=TibraUI
StackTrace:
at TibraUI.Program.XamlCheckProcessRequirements()
at TibraUI.Program.Main(String[] args) in C:\Users\Bryan\src\tibra\Tibra\TibraUI\obj\x64\Debug\net6.0-windows10.0.19041.0\win10-x64\App.g.i.cs:line 28
Windows 版本 21H1 构建 19043.1348
我的 App.xaml
<Application
x:Class="TibraUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TibraUI">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
</ResourceDictionary>
</Application.Resources>
</Application>
【问题讨论】:
github.com/microsoft/WindowsAppSDK/issues/1762 FWIW 我看到了同样的错误,Hans 提供的链接指的是一个现已关闭的线程,它不提供解决方案 - 建议的 VC redist 安装对我不起作用。 一个似乎对我有用的解决方案是选择具有两个项目的模板,即具有单独打包程序项目 (WAP) 的一个。只要您将打包程序项目选为启动项目,它似乎就可以工作。将“真实”项目设置为启动会导致相同的错误。请注意,您必须将机器设置为开发人员模式。 @Rno 不幸的是,这对我不起作用 @BAR 很遗憾听到这个消息。我对此完全陌生,所以几乎没有什么可以为您提供的。我创建了一个新的工作样板 WinUI3 项目并将其放在 GitHub 上,也许浏览该代码或克隆它可能会给您一些见解。 github.com/arnovb-github/EmptyWinUI 【参考方案1】:将包作为启动项目运行。它不直观,但主要项目并不意味着运行。
此答案仅适用于创建包含包项目的项目的人。
【讨论】:
我该怎么做? 我只有一个项目【参考方案2】:我能够通过以下方式解决问题:
我在命令提示符下使用 dotnet new unoapp-winui-net6 创建了一个 Uno WinUI 3 .NET 6 项目。我必须从以下位置更新 Windows.Desktop.csproj 参考:
<ItemGroup>
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.18362.16" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.18362.16" />
</ItemGroup>
到:
<ItemGroup>
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.22" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.22" />
</ItemGroup>
在 Windows.Package.wapproj 中,我更新了
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="[1.0.0-experimental1]">
<IncludeAssets>build</IncludeAssets>
</PackageReference>
</ItemGroup>
到
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="[1.0.0]">
<IncludeAssets>build</IncludeAssets>
</PackageReference>
</ItemGroup>
(另见https://github.com/unoplatform/uno/discussions/7617)
在 Visual Studio 2022 Preview 1.1 的配置管理器中,我不得不将 Windows.Desktop 的平台更改为 x64(以前是 x86)。 Windows.package 也应该是 x64。
我将 Windows.Package 项目设置为启动项目。我可以构建并启动应用程序而不会出现错误。
【讨论】:
以上是关于`Microsoft.ui.xaml.dll` 无法加载的主要内容,如果未能解决你的问题,请参考以下文章
ValueError 层序贯_13的输入0与层不兼容:预期ndim = 3,发现ndim = 4收到完整形状:(无,无,无,无)
如何修复'ValueError:输入0与层simple_rnn_1不兼容:预期形状=(无,无,20),找到形状=(无,无,2,20)'
树莓派3B 无显示器,无键盘,无Linux系统,无网线 配置WIFI连接