.NET中有多个常用程序集的项目

问题描述:

我有多个项目的解决方案。每个项目都使用一个程序集,在构建之后将其复制到相应的输出目录。大多数这些项目都有一个共同的DLL。例如ProjectA,ProjectC和ProjectD使用ProjectA.dll。是否可以简单地将ProjectA.dll放到一个*文件夹中并让其他类库项目指向它?我知道GAC,但他们说,如果多个应用程序使用特定的程序集,则应该只使用它。.NET中有多个常用程序集的项目

编辑: 在部署时,我想以下结构:

Bin 
-> ProjectA.dll 
-> Other Projects 
----> ProjectB.dll 
----> ProjectC.dll 
MyProject.exe 

威尔projectA.dll还是可以通过ProjectB.dll和ProjectC.dll正确引用?

由于所有的项目都在同一个解决方案中,Visual Studio知道如何管理这种依赖关系。只需在ProjectB,ProjectC,ProjectD中添加项目引用即可。为此,请右键单击解决方案资源管理器中的引用,然后添加引用,单击项目选项卡。

这将创建一个构建依赖项,导致ProjectA在任何时候构建ProjectB,C或D,并且这些项目将引用正确的ProjectA \ bin \ Debug或\ bin \ Release(或任何解决方案config目前在)确保一切都很好,并且最新,并且DLL不需要被复制到所有地方。

+0

感谢您的回答。即使部署了应用程序,这是否仍然有效?我在计划部署时正在计划这种结构。 (见编辑的问题) – randacun 2012-08-12 03:26:44

+1

你应该看看这篇文章http://www.codeproject.com/Articles/12215/Assemblies-locating-binding-and-deloying – 2012-08-12 03:46:21

您可能需要考虑为项目A创建nuget包。如果您没有可以发布的服务器,则可以将其复制到网络共享中,然后将visual studio设置为监视该位置。心连心。

+0

谢谢,我会记下这一点。 – randacun 2012-08-12 03:36:26