【问题标题】:How can I skip building all referenced projects every time when I build my source project每次构建源项目时,如何跳过构建所有引用的项目
【发布时间】:2020-01-29 09:54:59
【问题描述】:

我有 Xamarin.Forms 项目,它有许多其他项目的依赖项。当我每次需要执行/构建我的项目时对业务逻辑进行任何修改时。

由于许多其他项目的依赖关系,完成构建(10-15 分钟)并显示构建 o/p 需要大量时间。

已完成构建项目“Project1.csproj”。

已完成构建项目“Project2.csproj”。

已完成构建项目“Project3.csproj”。

已完成构建项目“Project4.csproj”。

已完成构建项目“Project5.csproj”.....

如果我从源项目的 .csproj 文件中删除上述项目依赖项

 <ItemGroup>
    <ProjectReference Include="..\..\..\Components\Business\Project1\Project1.csproj" />
    <ProjectReference Include="..\..\..\Components\BusinessUI\Project2\Project2.csproj" />
    <ProjectReference Include="..\..\..\Components\Core\Project3\Project3.csproj" />
    <ProjectReference Include="..\..\..\Components\CoreUI\Project4\Project4.csproj" />
    <ProjectReference Include="..\..\..\Components\Shared\Project4\Project5.csproj" />
 </ItemGroup>

我收到很多编译时错误

您是否缺少程序集参考?

如何在不每次都构建所有依赖项目的情况下构建我的源项目,从而节省时间?

【问题讨论】:

    标签: c# .net visual-studio build


    【解决方案1】:

    您是如何引用这些项目的?是作为项目文件引用的,还是它们编译后的 .dll/.exe 形式?

    听起来这些是作为原始项目/源代码添加的。在这种情况下,当然它们必须被编译。否则就像只编译一半的源代码一样。

    在 .NET 中,您可以使用任何 .NET .dll 或 .NET .exe 作为程序集引用。对于 .NET 内部的东西,您总是使用 .dll 的。但是 .exe 也可以。您必须使用代码部署这些 .dll/.exe,但是像将其作为构建操作复制到输出目录这样的操作应该可以工作。事实上,我什至从未听说过引用原始项目,但它可能在某个地方。

    在内部,.NET .exe 几乎与 .NET .dll 相同。一些引导代码和更多的入口点,也许一些边缘的东西,比如 COM 互操作更少。这是他们从 Java 字节码中汲取大量灵感的部分之一,然后将其做得更好。因此,您可以将它们添加为参考。

    【讨论】:

    • 我引用了项目?
    • @r15:您将它们添加为 Project 参考。而不是沼泽标准 .dll 参考。 a)如果您想重新编译,请继续使用这种方法并以另一种方式处理时间。就像把它放到 SSD 上一样。没有任何缓存视觉工作室可以做,它必须是一个完整的重建。 b) 如果您不想这样做,请将其他项目转换为普通的 .exe 或 .dll 并将其添加为 .dll 引用。 en.code-bude.net/2013/01/11/…
    猜你喜欢
    • 2021-10-21
    • 2010-12-02
    • 1970-01-01
    • 2017-12-13
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    相关资源
    最近更新 更多