我使用的是 .Net 8.0 VS 2022。如此处所述创建了一个空白团队选项卡应用程序,并在开发模式下运行它。然而,在我按照步骤 5 中的 [添加] 后,选项卡为空。没打到
OnAfterRenderAsync()
位于 Tab.razor 文件内的 Welcome 组件中。
有趣的是,如果我单击 [关于] 选项卡并单击网站链接,则会转到 Tab.razor 并加载欢迎组件。再次强调这一点,
MicrosoftTeams.IsInTeams()
是假的。我希望这是真的,因为我已经在同一浏览器中登录到 MSTeams Web 应用程序。根据此时的文档,它应该显示我的名字,因为我已登录 MSTeams。
以上是我的第一个困惑。
然后我继续开发 blazor 应用程序。一切正常,但选项卡仍然是空的,如果我转到 [关于],单击网站链接,那么我的应用程序就会加载并按预期工作。
看看事情是如何连接的,它首先加载 _Host.cshtml,它加载 App 组件 (App.razor),它再次加载渲染主体的 MainLayout。据我了解,Tab 不应该为空。
这很容易重新创建,只需创建一个新的选项卡应用程序项目,准备依赖项并按 F5 进行调试。
所以现在我已经完成了完整的 blazor 应用程序,但无法将其放入 MS Teams 中!非常令人沮丧。可能是什么问题?
谢谢您的提问。根据您的描述,我认为您可以尝试在浏览器中注销您的 Teams 帐户并清除浏览器缓存,然后再次登录到与步骤 2 中相同的帐户并再次尝试调试。
您在“关于”选项卡中单击并在该页面上使用
MicrosoftTeams.IsInTeams()
的网站链接应该是错误的,因为该页面打开了 Teams 中不存在的本地服务。你可以再次检查网站链接中的url,它应该显示“https://localhost:44302”,并且该页面将正确显示,这意味着你的本地服务已正确启动。