【问题标题】:How would you create this solution in visual studio?您将如何在 Visual Studio 中创建此解决方案?
【发布时间】:2009-06-04 22:37:30
【问题描述】:

我有项目 X,可以编译成 X.exe
我有项目 Y,它引用了项目 X,并编译为:Y.exe; Y.dll

我构建项目 X 的​​解决方案,发布文件夹有:X.exe
我构建项目 Y 的解决方案,发布文件夹有:X.exe, Y.exe, Y.dll

如何删除项目 Y 中多余的 X.exe?

【问题讨论】:

    标签: .net visual-studio msbuild build-process build


    【解决方案1】:

    即使在技术上可行,但引用 exe 的做法并不常见……您通常引用 DLL 我要做的是将公共部分提取到类库项目中,并在两个可执行文件中引用生成的 DLL

    【讨论】:

    • 我正在考虑这样做,但我希望有另一种简单的方法
    • 目前正在这样做...下次我不会再犯这个错误了:-)
    【解决方案2】:

    您在项目 Y 的输出目录中有“额外”的 exe(我假设您是指项目 X 的​​编译输出),因为您在项目中添加了对它的引用。如果您不需要对它的引用,请删除该引用,它将不会出现在输出目录中。如果您确实需要对它的引用,则需要存在该 exe,否则您的 Y.exe 将无法正常运行。

    【讨论】:

      【解决方案3】:

      调出 exe 引用的属性并将 copy-local 设置为 false。

      【讨论】:

      • 问题是我需要 X.exe 来运行 Y.exe
      • 那你就自相矛盾了。要么你需要它,要么你不需要。也许您应该将所有输出放在一个目录而不是多个目录中。
      【解决方案4】:

      简单回答: 你不能,因为你在 Y 中使用 X.exe 程序集。

      使用ILMerge 可能会有所帮助(将 X.exe 合并到 Y.exe)

      正确答案: 您必须重构将 X 功能拆分为可重用的类项目和使用它的可执行文件。

      你不能。你在引用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多