MSIX包和调试器在错误的项目中启动



我有一个包含三个项目的WinForms应用程序解决方案。这正在运行。NET 5。

  1. 启动项目:处理用户身份验证并提供基本菜单和布局。所有表单都由另一个项目存储和加载
  2. 表单项目:存储用户将与之交互的所有表单
  3. 存储所有实体和DbContext引用的数据层项目

在MSIX安装程序包中,我已将启动项目指定为唯一的应用程序项目,并将其设置为启动项目。但是,编译后的应用程序未正确运行时也存在一些问题。当我开始通过MSIX包调试应用程序时,我注意到它总是在Forms项目中启动,并且完全绕过启动项目。这种情况不应该发生。如何防止MSIX包和调试器在错误的项目中启动?

注意:我正在运行Windows 10和Visual Studio Community 2019。

我们不确定为什么会出现这个问题。我们认为这是MSIX包的一个错误。无论如何,我们发现有问题的两个项目都是作为可执行程序构建的,但我们只需要一个。因此,对于启动不正确的项目,我们进入"应用程序"窗口(右键单击项目并选择属性(,并将输出类型设置为class library,而不是Windows Application

这解决了问题。但是,当多个项目的输出类型为Windows Application时,MSIX包似乎仍然无法正确处理Set as Startup标志。

最新更新