Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# 单击一次部署-如何发布具有多个VS项目的应用程序?_C#_.net_Wpf_Clickonce - Fatal编程技术网

C# 单击一次部署-如何发布具有多个VS项目的应用程序?

C# 单击一次部署-如何发布具有多个VS项目的应用程序?,c#,.net,wpf,clickonce,C#,.net,Wpf,Clickonce,我正在构建一个复杂的WPF应用程序。我有多个visual studio解决方案。每个解决方案都有一个项目。由于代码保护的原因,我不得不将项目放在不同的解决方案中 组件主解决方案(WPF应用程序) 组件解决方案(类库) 组件B解决方案(类库) 组件A和B参考主解决方案的组装。主解决方案在运行时使用反射加载组件A和B的程序集 生成每个解决方案时,将触发Xcopy后期生成事件,并将所有dll复制到名为GlobalOutput的文件夹中,在该文件夹中,我只需运行MainSolution.exe即可运行应

我正在构建一个复杂的WPF应用程序。我有多个visual studio解决方案。每个解决方案都有一个项目。由于代码保护的原因,我不得不将项目放在不同的解决方案中

  • 组件主解决方案(WPF应用程序)
  • 组件解决方案(类库)
  • 组件B解决方案(类库)
  • 组件A和B参考主解决方案的组装。主解决方案在运行时使用反射加载组件A和B的程序集

    生成每个解决方案时,将触发Xcopy后期生成事件,并将所有dll复制到名为GlobalOutput的文件夹中,在该文件夹中,我只需运行MainSolution.exe即可运行应用程序

    现在我想使用ClickOnce发布应用程序。正如我前面提到的,有多个项目,Dll是使用反射加载的

    据我所知,由于上述原因,我无法使用“一次单击发布向导”。也许我错了

    如何使用“单击一次”发布我的应用程序。?
    由于所有dll都在GlobalOutput目录中,有没有办法直接从那里创建clickkonce部署?

    您可以尝试通过单击一次来指定发布哪些文件

    对你来说,它将是这样的:

    • 选择其中一个解决方案/项目作为要配置的发布项目单击一次。您需要将其他项目/解决方案中的DLL标记为先决条件。
    • 在解决方案资源管理器中选择项目后,在“项目”菜单上单击“属性”
    • 单击“发布”选项卡
    • 单击“应用程序文件”按钮打开“应用程序文件”对话框
    • 在“应用程序文件”对话框中,选择要标记为先决条件的应用程序程序集(.dll文件)。请注意,应用程序必须具有对应用程序集的引用,才能在列表中显示
    • 在“发布状态”字段中,从下拉列表中选择“先决条件”
    要使来自其他解决方案/项目的文件显示在步骤3的“应用程序文件”对话框中,您可以引用输出DLL,或将其添加为解决方案文件,并将生成操作设置为“内容”


    有关详细信息:

    您可以尝试通过单击一次来指定发布哪些文件

    对你来说,它将是这样的:

    • 选择其中一个解决方案/项目作为要配置的发布项目单击一次。您需要将其他项目/解决方案中的DLL标记为先决条件。
    • 在解决方案资源管理器中选择项目后,在“项目”菜单上单击“属性”
    • 单击“发布”选项卡
    • 单击“应用程序文件”按钮打开“应用程序文件”对话框
    • 在“应用程序文件”对话框中,选择要标记为先决条件的应用程序程序集(.dll文件)。请注意,应用程序必须具有对应用程序集的引用,才能在列表中显示
    • 在“发布状态”字段中,从下拉列表中选择“先决条件”
    要使来自其他解决方案/项目的文件显示在步骤3的“应用程序文件”对话框中,您可以引用输出DLL,或将其添加为解决方案文件,并将生成操作设置为“内容”


    有关详细信息:

    您的评论说:“请注意,您的应用程序必须具有对应用程序集的引用,才能显示在列表中。”但如何包含未引用的DLL?您可以引用DLL,也可以转到要发布为单击一次的项目,添加现有项,添加现有DLL。请验证dll项是否已将生成操作设置为内容。您的注释是:“请注意,您的应用程序必须具有对应用程序程序集的引用,才能将其显示在列表中。”但如何包括未引用的dll?您可以引用dll,或转到要发布的项目,单击“一次添加现有项”,添加现有DLL。验证dll项是否已将生成操作设置为内容。