【问题标题】:Merging two related projects to one executable? (c sharp)将两个相关项目合并为一个可执行文件? (c 尖锐)
【发布时间】:2014-04-03 08:04:17
【问题描述】:

我目前正在研究具有两个不同项目的解决方案。一个项目是 Windows 窗体(主项目),另一个是控制台应用程序。目前我正在从主项目运行控制台应用程序:

System.Diagnostics.Process.Start(Environment.CurrentDirectory + "\\console.exe");

当我调试时,一切正常。但是,C sharp 创建两个不同的可执行文件,一个用于控制台,另一个用于主项目。我的问题:有没有一种简单的方法可以将这两个合并为一个可执行文件?注意:我是初学者,我非常努力地让它工作:(

谢谢!

【问题讨论】:

    标签: c# merge console project


    【解决方案1】:

    要将多个程序集合并为一个,您可以使用Fody/Costura。它允许您将多个程序集(exe)合并到 1 个项目(exe)中。在您的主项目中添加它(可以通过 nuget 完成)。然后只需在 weavers.xml (将自动生成的文件添加这些文本:

    <Costura>
        <IncludeAssemblies>
           MyProject.MyConsoleApp
        </IncludeAssemblies>
    </Costura>
    

    (它应该和引用同名,所以将控制台应用程序添加到你的windows窗体作为引用,记住不要添加.exe后缀)

    PS:阅读我给你的链接上的教程。

    【讨论】:

    • 我可以用 C sharp express 2010 安装 Nuget 吗?
    • 我不确定您是否总是可以手动下载 Fody 和 Fody/Costura,然后将 2 个 dll 放入您的文件夹中,并手动添加它们作为参考,然后在主目录中手动制作 weavers.xml .
    • 对不起,我是一个真正的初学者。我需要将 dll 放在哪个文件夹中?
    • 好的,现在我在一个解决方案中有两个项目。一个项目是一个控制台应用程序,它是从 Windows 窗体应用程序调用的。现在我想将这些添加到一个可执行文件中。有人告诉我,使用 Fody/Costura 是可能的。我下载了它并将 IncludeAssemblies 代码添加到 xml 文件中。但是,如果我去调试文件夹,仍然有两个可执行文件分开(除了一些新生成的文件)可执行文件保存在另一个地方还是我做错了什么?
    猜你喜欢
    • 2012-08-03
    • 2018-09-30
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多