筆者目前使用的 JetBrains Rider 編輯器是 2023/06/23 才更新的 Rider 2023.1.3 版本,目前還沒有辦法透過直接介面建立 WinUI 3 專案,所以筆者是透過 Visual Studio 建立 WinUI 3 專案,然後再使用 Rider 編輯器開啟專案開發,但是目前在 Rider 上執行時會失敗,出現錯誤訊息如下:
無論在 Visual Studio 上有沒有執行過,Rider 都會出現這個錯誤,而 Visual Studio 執行起來則是非常正常的。
預設安裝的套件 Microsoft.WindowsAppSDK 和 Microsoft.Windows.SDK.BuildTools 也已經升級到最新的 1.3.230602002 和 10.0.22621.756 ,也是會出現一樣的問題。
後來爬文之後發現在 .csproj 內的 PropertyGroup 加入 <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> 可以暫時解決問題。
只是目前在 Rider 上執行 WinUI 3 專案和 Visual Studio 相比還是少了上方的除錯工具:
但是從以前 Java 使用 JetBrains 家族的開發工具已經習慣了,使用其他的編輯器寫程式就很不習慣,還好筆者以前在寫 WinForms 專案時都習慣動態產生控制項目,完全沒有使用拖拉,目前應該就只有真的需要時才會開啟 Visual Studio ,希望 Rider 多多加油,不然長久以來 Rider 都更新的有點緩慢,非常可惜。
參考資料:
Github Issues - .NET 6 and WINUI3 fails to start Unable to load DLL 'Microsoft.ui.xaml.dll' #1762
System.DllNotFoundException: Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: 找不到指定的模組。 (0x8007007E)
at WinUiAppNotificationTest.Program.XamlCheckProcessRequirements()
at WinUiAppNotificationTest.Program.Main(String[] args) in C:\Users\ruyut\Documents\RiderProjects\2023\test\WinUiAppNotificationTest\WinUiAppNotificationTest\obj\x64\Debug\net6.0-windows10.0.19041.0\win10-x64\App.g.i.cs:line 28
無論在 Visual Studio 上有沒有執行過,Rider 都會出現這個錯誤,而 Visual Studio 執行起來則是非常正常的。
預設安裝的套件 Microsoft.WindowsAppSDK 和 Microsoft.Windows.SDK.BuildTools 也已經升級到最新的 1.3.230602002 和 10.0.22621.756 ,也是會出現一樣的問題。
後來爬文之後發現在 .csproj 內的 PropertyGroup 加入 <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained> 可以暫時解決問題。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>WinUiAppNotificationTest</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Platforms>x86;x64;ARM64</Platforms>
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
</PropertyGroup>
<ItemGroup>
<Content Include="Assets\SplashScreen.scale-200.png" />
<Content Include="Assets\LockScreenLogo.scale-200.png" />
<Content Include="Assets\Square150x150Logo.scale-200.png" />
<Content Include="Assets\Square44x44Logo.scale-200.png" />
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
<Content Include="Assets\StoreLogo.png" />
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.3.230602002" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.756" />
<Manifest Include="$(ApplicationManifest)" />
</ItemGroup>
</Project>
只是目前在 Rider 上執行 WinUI 3 專案和 Visual Studio 相比還是少了上方的除錯工具:
但是從以前 Java 使用 JetBrains 家族的開發工具已經習慣了,使用其他的編輯器寫程式就很不習慣,還好筆者以前在寫 WinForms 專案時都習慣動態產生控制項目,完全沒有使用拖拉,目前應該就只有真的需要時才會開啟 Visual Studio ,希望 Rider 多多加油,不然長久以來 Rider 都更新的有點緩慢,非常可惜。
參考資料:
Github Issues - .NET 6 and WINUI3 fails to start Unable to load DLL 'Microsoft.ui.xaml.dll' #1762
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com