我有两个.net7项目,一个是用默认模板创建的MauiBlazor项目,另一个是用默认模板创建的Blazor Web Assembly项目。
在MauiBlazor项目中,我添加了一个对Blazor项目的引用(我做了所有必要的更新来引用Blazor项目)
问题是,当我尝试运行MauiBlazor项目时,我得到以下错误:
Error XAPRAS7028 System.IO.FileNotFoundException: Could not find file 'MauiBlazor\BlazorApp\bin\Debug\net7.0\browser-wasm\BlazorApp.dll'.
**问题是,如何从Maui项目引用Blazor项目?**因为添加普通项目引用不起作用
<ItemGroup>
<ProjectReference Include="..\BlazorApp\BlazorApp.csproj" />
</ItemGroup>
我尝试使用dotnet publish -c Debug -o bin\Debug\net7.0\browser-wasm
发布Blazor项目,但没有成功。
我意识到我可以通过手动复制以下内容来使其工作:'MauiBlazor\BlazorApp\bin\Debug\net7.0\
到MauiBlazor\BlazorApp\bin\Debug\net7.0\browser-wasm
,然后用VS运行它(命令行不起作用),但我相信一定有更好的方法。
我还创建了这个项目,通过尝试运行MauiMobileApp项目可以重现该问题。https://github.com/tico321/MauiReferenceBlazorIssue
1条答案
按热度按时间6ljaweal1#
在回答上面的问题时,我也找到了我的答案。如果你想在Maui和Blazor之间共享页面,你需要一个共享的项目。一个很好的例子是dotnet podcast repository,了解更多关于仓库的上下文以及他们如何使用Blazor hybrid。观看talk。
我为重现该问题而创建的存储库也更新为解决方案https://github.com/tico321/MauiReferenceBlazorIssue
我从podcast存储库中观察到,共享的repo csproj文件需要引用
Microsoft.NET.Sdk.Razor
SDK和Microsoft.AspNetCore.Components.Web
包,因此它应该如下所示:最后,在Maui和Blazor中使用index.html文件时要小心。