如何配置.net web应用程序的MIME类型以使用msix应用程序包安装maui

问题描述 投票:0回答:1

我正在尝试在 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 类型。

本文指导:

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-8.0&viewFallbackFrom=aspnetcore-2.1&tabs=aspnetcore2x#fileextensioncontenttypeprovider

我像这样配置了我的静态文件:

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

c# .net deployment maui mime-types
1个回答
0
投票

首先,请确保您在以下站点获取 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 框架中使用它。

© www.soinside.com 2019 - 2024. All rights reserved.