为什么编译后.NET MAUI应用程序无法运行?

3

这可能听起来像一个新手或愚蠢的问题(它很可能是这样的)。

但我创建了一个非常简单的.NET MAUI应用程序,几乎与默认模板相同,稍微修改了一下。在编辑器中(默认调试,任何CPU配置)运行良好,但构建后就无法运行.EXE文件。

构建是正确的,.EXE文件已经生成,但尝试运行它(不管是否有管理员权限),都没有打开任何窗口。检查了任务管理器,发现它会打开一个带有exe名称的任务,但瞬间终止。

对此有任何想法吗?

提前致谢。


这个问题之前已经被问过几次,并且也有答案:https://stackoverflow.com/search?q=%5Bmaui%5D+exe+run - Gerald Versluis
@GeraldVersluis 我已经看过所有这些帖子了。他们是通过命令构建应用程序或使用其他形式从.NET MAUI项目获取可执行文件来构建应用程序的。我想使用Visual Studio内置的“Build”功能。也许这是一些预览错误或仅发生在我的机器上。 - VC JS
无论您是否使用命令行,这都无关紧要。像这样运行exe被称为“未打包发布”,目前不受支持。 - Gerald Versluis
2个回答

7

我本来不相信那会起作用,但还是试了一下,结果奇怪的是它真的起作用了。 - Alex
这对我也起作用了。微软应该考虑将此步骤添加到他们的教程中:https://dotnet.microsoft.com/en-us/learn/maui/first-app-tutorial/run - Laura White

2

这是由于 MSIX 打包引起的。Microsoft 已经解决了这个问题。请从 MAUI 的官方 GitHub 存储库中检查 this 问题。

将以下行添加到您的 csproj 文件中:

<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained Condition="'$(IsUnpackaged)' == 'true'">true</WindowsAppSDKSelfContained>
<SelfContained Condition="'$(IsUnpackaged)' == 'true'">true</SelfContained>

将您的launchSettings.json文件更改为以下内容;
{
    "profiles": {
        "Windows Machine": {
        "commandName": "Project"
        ,
    }
}

如果尚未安装,您需要安装Windows App SDK运行时和MSIX软件包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接