当构建多个C#项目时,如何避免使用Visual Studio进行构建?

3
我有一个包含多个C#项目的解决方案。这些依赖关系没有环路,但当我构建一个高级别的DLL时,似乎需要重新构建所有它链接到的项目引用的DLL才能运行程序。
这似乎是不必要的,因为我没有更改那些DLL中的代码,它们处于较低级别,因此我在顶层DLL中进行的更改不应以任何方式影响底层DLL。
如何告诉Visual Studio仅构建依赖于层次结构链的DLL,而非双向构建?

你是如何触发构建的? - David M
绿色的运行按钮。从“构建”菜单中进行[项目名称]的构建。 - Jeremy Edwards
3个回答

2

前往 工具->自定义

会弹出一个对话框。前往 命令 选项卡。在 菜单栏 单选按钮中选择 构建 | 仅项目。分配一个快捷键并使用它。


1

当 Visual Studio 检查依赖项时,它会运行构建过程。这不一定是在构建您的项目。在 Visual Studio 中,如果您导航到 工具->选项...->项目和解决方案->生成和运行,您将看到一个下拉菜单标记为 MSBuild 项目生成输出详细程度。如果您将其更改为详细信息。当您构建时,您将在输出窗口中看到它正在验证文件是否已更改以确定是否应重新构建项目。这就是为什么它每次都似乎在构建。


0
你应该使用以下设置: 在“工具/选项/项目和解决方案/生成和运行”下选择“仅在运行时构建启动项目和依赖项”。

这并不完全可行,因为主可执行文件与已更改的DLL没有硬项目链接。我需要一些基本上说的东西。只有在其代码更改和向上依赖项(即依赖于更改的DLL的DLL)的情况下才编译DLL。当前的行为是重新编译未更改的DLL,而这些DLL依赖于更改的DLL。 - Jeremy Edwards

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接