如何构建依赖项目而不引用它们?

时间:2017-03-07 17:26:30

标签: c# .net visual-studio visual-studio-2013 tfs2012

在我的解决方案中,这些项目已包含在我的解决方案中,而不是引用某些库的DLL:

enter image description here

不是必须将项目包含在解决方案的一部分中,而是可以将它们作为build definition的一部分,或者可能作为预构建事件命令行:

enter image description here

如何包含需要为我的解决方案构建的项目,而不实际将它们加载到解决方案中?

2 个答案:

答案 0 :(得分:1)

您可以通过两种方式工作。您可以在项目中引用其他项目或dll。你可以将两者结合起来。如果您不希望在解决方案中构建某些项目而不是解决方案的一部分,则必须预先构建它们并将引用指向编译过程的输出。如果您希望它们成为解决方案的一部分但不能编译,请使用Build Configuration Manager。您可以使用它来标记,在该配置下构建哪些项目,以及哪些项目无法构建。

如果您有一个大型解决方案,最好将输出设置为任意 bin lib 文件夹,并从那里进行引用。在这种情况下,请确保设置项目构建顺序。

对于小型解决方案,项目参考将正常工作。在这种情况下,构建顺序将自行建立。

不同之处在于性能 - 如果#1 - dll引用允许您构建单个项目。在#2的情况下,构建单个项目将触发项目编译链。在这种情况下,您每次只需等待更长时间。在大型解决方案中,这对开发人员是有害的。

最后一点,如果你有一些未被引用但在应用程序中使用的DLL,假设通过反射加载,你可以使用 pre build post build < / em>将这些事件复制到max-width

的事件

答案 1 :(得分:0)

我在同一解决方案中拥有所有未引用的项目,并且通过在启动项目的预构建事件中放置以下命令来构建它们

“ $(DevEnvDir)devenv”“ $(SolutionDir)SolutionName.sln” /重建$(ConfigurationName)/ project“ $(SolutionDir)ProjectFolder \ ProjectFile.csproj”