Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将WPF应用程序编译成类库并在需要时启动应用程序_Wpf - Fatal编程技术网

如何将WPF应用程序编译成类库并在需要时启动应用程序

如何将WPF应用程序编译成类库并在需要时启动应用程序,wpf,Wpf,我想知道如何将WPF应用程序编译成独立的共享类库(dll)?有样品吗 解决方案资源管理器->右键单击“MySolution”->添加->新建项目->WPF用户控制库 在那里添加控件并从任何其他应用程序使用 将当前项目转换为dll:解决方案资源管理器->mywpfa应用程序->右键单击->属性->应用程序选项卡->输出类型=类库 或者,您可以将其他应用程序的引用添加到现有项目中,即使它是exe。(控件仍然可用) 库不是应用程序,因此我们不能将WPF应用程序转换为dll并期望能够独立运行它 一种解决

我想知道如何将WPF应用程序编译成独立的共享类库(dll)?有样品吗

  • 解决方案资源管理器->右键单击“MySolution”->添加->新建项目->WPF用户控制库
    在那里添加控件并从任何其他应用程序使用

  • 将当前项目转换为dll:解决方案资源管理器->mywpfa应用程序->右键单击->属性->应用程序选项卡->输出类型=类库

  • 或者,您可以将其他应用程序的引用添加到现有项目中,即使它是exe。(控件仍然可用)


  • 库不是应用程序,因此我们不能将WPF应用程序转换为dll并期望能够独立运行它

    一种解决方法可能是将项目输出类型更改为“类库”,然后创建一个新的WPF应用程序,该应用程序将挂钩到dll中

    <Application x:Class="WpfApplication13.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 StartupUri="pack://application:,,,/ReferencedAssembly;component/MainWindow.xaml">
        <Application.Resources>
    
        </Application.Resources>
    </Application>
    
    要将新应用程序挂钩到dll中,首先添加对dll的引用,然后编辑App.xaml并将StartupUri更改为指向dll的包Uri

    <Application x:Class="WpfApplication13.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 StartupUri="pack://application:,,,/ReferencedAssembly;component/MainWindow.xaml">
        <Application.Resources>
    
        </Application.Resources>
    </Application>
    
    
    
    我正在使用它(作为只有App.xaml的WPF应用程序和只有App.xaml.cs的类库)。它运行,但类库中的App类没有调用其OnStartup()、OnExit()或其他可重写项。