C# Visual Studio MSIX应用程序创建:入口点(.exe)不正确

C# Visual Studio MSIX应用程序创建:入口点(.exe)不正确,c#,wpf,forms,visual-studio,msix,C#,Wpf,Forms,Visual Studio,Msix,我制作了一个Windows窗体项目,它承载一个WPF用户控件(某种3D视口),基本上是两个“独立”的项目。 将这两个功能结合到一个主项目中确实有效,我可以使用Windows窗体应用程序访问Wpf。 在下一步中,我想按照VisualStudio2019的建议创建一个“MSIX”应用程序。因此,我插入了一个“第三个”项目模板(MSIX项目模板),并设置了官方指南中的参考。这主要是将我的“主”Windows窗体程序链接为MSIX模板中的应用程序,并将其设置为应用程序的“入口点” 我的WPF程序在我的主

我制作了一个Windows窗体项目,它承载一个WPF用户控件(某种3D视口),基本上是两个“独立”的项目。 将这两个功能结合到一个主项目中确实有效,我可以使用Windows窗体应用程序访问Wpf。 在下一步中,我想按照VisualStudio2019的建议创建一个“MSIX”应用程序。因此,我插入了一个“第三个”项目模板(MSIX项目模板),并设置了官方指南中的参考。这主要是将我的“主”Windows窗体程序链接为MSIX模板中的应用程序,并将其设置为应用程序的“入口点”

我的WPF程序在我的主程序中被引用,因此我不必再次在MSIX模板中链接它。 到现在为止,一直都还不错。调试也不会带来任何错误。 但调试器并没有按照定义的入口点打开主程序(即WinForms),而是只打开WPF应用程序(实际上只能通过Windows Forms程序中的按钮单击事件访问该应用程序)

在.wapproj文件中:

<EntryPointProjectUniqueName>..\..\Visu 2.0 Core\Visu 2.0 Core\Visu 2.0 Core.csproj</EntryPointProjectUniqueName>
<EntryPointProjectUniqueName>..\WindowsFormsApp1\WindowsFormsApp1.csproj</EntryPointProjectUniqueName>

有人建议我的应用程序项目(即使是入口点)不想从我的1中了解任何东西吗。节目部分?(它只是不运行,而是运行第二个程序WPF)

@Knally。根据我的测试,我在MSIX模板中使用Windows Forms Project作为入口点,它打开Windows Forms Project,单击按钮时加载WPF用户控件。您可以检查这些步骤是否与您的一致。如果有什么问题,请告诉我

以下是我在.wapproj文件中的代码:

<EntryPointProjectUniqueName>..\..\Visu 2.0 Core\Visu 2.0 Core\Visu 2.0 Core.csproj</EntryPointProjectUniqueName>
<EntryPointProjectUniqueName>..\WindowsFormsApp1\WindowsFormsApp1.csproj</EntryPointProjectUniqueName>
3.创建名为WapProjTemplate1的Windows应用程序打包项目

1.右键单击应用程序->单击添加引用…->选择windowsformsap1->单击确定

2.双击打包。appxmanifest->点击打包->点击选择证书…->点击 创建…->输入密码->确定

3.修改Configuration Manager,如下所示:

4.右键单击WAPProjectTemplate1->选择发布->选择创建应用程序包…->在选择和配置包向导上选择架构发布,如下所示:

结果是:

非常感谢您的示例。我很感激。我曾尝试将WPF项目输出更改为.dll。但当我更改时,我无法再构建该项目,因为它抱怨无法找到所有WPF设计元素名称(如标签、滑块、按钮)的任何定义。因为我的WPF项目有点“完成”我不想对它做任何大的修改。有没有一个简单的解释,为什么调试时找不到我的元素名?
using System;
using System.Windows.Forms;
using System.Windows.Forms.Integration;
using WpfApp1;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ElementHost host = new ElementHost();
            host.Dock = DockStyle.Bottom;
            UserControl1 myControl = new UserControl1();
            host.Child = myControl;
            this.Controls.Add(host);
        }
    }
}