如果我有一个带有多个项目的可视化工作室解决方案,那么从项目中我如何确定在构建解决方案后哪一个将具有所有dll?
原因是我需要为我的自定义书面构建应用程序复制这些dll。我知道在Visual Studio GUI中,如果我右键单击解决方案并转到项目构建顺序,那么最低级别的项目将是具有已构建的dll和引用的dll的完整列表的项目。那么有什么逻辑可以用来通过代码解决这个问题吗?
答案 0 :(得分:0)
您可以编写一些代码来读取解决方案/项目文件(格式并不难)并自行计算出依赖关系树。
但是,更好的方法是将所有项目更改为输出到公共\ bin目录,以便在Visual Studio中更改构建属性。这样可以避免在各个项目bin目录中拥有大量二进制文件副本,并且当它增长到需要拆分为多个解决方案的大小时,可以使生活更轻松。
类似以下内容的目录结构通常很有用:
\bin (Common output directory for all projects) \src (I usually keep the solution file in \src) \ProjectA \ProjectB \lib (Common libraries, e.g. nunit or log4net etc)