我正在尝试在 IIS Web 服务器上部署我的 MAUI Web 应用程序。 我找到的唯一指南是:https://learn.microsoft.com/en-us/windows/msix/app-installer/web-install-iis
不幸的是,本文使用了.net Framework 4.7,这对我来说是不可接受的。 我正在尝试在我的 .NET 6 Web 应用程序上重现类似的行为。
这是我的毛伊岛安装页面:
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
<p>Install<a href="ms-appinstaller:?source=https://localhost:7123/packages/Test.msix">MAUI</a>.</p>
</div>
但是我在 msix 包绝缘体中收到此错误消息“解析应用程序包时出错。”。
我假设问题在于缺少配置的 MIME 类型,因为我无法从浏览器手动打开文件,但我不明白如何在 .net 6 Web 应用程序上配置 mime 类型。
本文指导:
我像这样配置了我的静态文件:
var provider = new FileExtensionContentTypeProvider();
// Add new mappings
provider.Mappings[".msix"] = "application/msix";
provider.Mappings["msix"] = "application/msix";
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory()),
RequestPath = "/home/packages/Test.msix",
ContentTypeProvider = provider
});
var fileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = fileProvider,
RequestPath = "/home"
});
但它仍然不起作用,我不明白为什么。
我在 GitHub 上上传了测试项目:https://github.com/IgorMarkiv/mauiDeployTest
首先,请确保您在以下站点获取 msix maui 应用程序包:使用 Visual Studio 发布适用于 Windows 的 .NET MAUI 应用程序。
然后,我发现您没有创建 Asp.Net Web 应用程序(.Net Framework),而是创建了 Asp.Net Core Web 应用程序(Razor)。但是 Asp.Net Core 不支持第 4 步 - 使用我们的 Web 应用程序配置 IIS。
所以你可以参考官方文档从网页安装Windows 10应用程序。
最后,您提供的第一个官方文档链接太旧了。您可以在存储库上报告此问题,以检查是否有任何方法可以在 .net 而不是 .net 框架中使用它。