在.NET中具有公共程序集的多个项目

在.NET中具有公共程序集的多个项目,.net,.net,我有一个多项目的解决方案。每个项目都使用一个程序集,该程序集在生成后复制到相应的输出目录。大多数项目都有一个公共dll。例如,ProjectA.dll由ProjectB、ProjectC和ProjectD使用。是否可以简单地将ProjectA.dll放入一个中心文件夹,让其他类库项目指向它?我知道GAC,但他们说只有在多个应用程序使用特定程序集时才应该使用它 编辑: 部署时,我需要以下结构: Bin -> ProjectA.dll -> Other Projects ---->

我有一个多项目的解决方案。每个项目都使用一个程序集,该程序集在生成后复制到相应的输出目录。大多数项目都有一个公共dll。例如,ProjectA.dll由ProjectB、ProjectC和ProjectD使用。是否可以简单地将ProjectA.dll放入一个中心文件夹,让其他类库项目指向它?我知道GAC,但他们说只有在多个应用程序使用特定程序集时才应该使用它

编辑: 部署时,我需要以下结构:

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

ProjcT.DLL仍然可以被Projut.B.DLL和ProjcC.DLL

正确地引用。您可能需要考虑为项目A创建NuGuT包。如果没有一个可以发布的服务器,可以将其复制到网络共享,然后设置VisualStudio以监视该位置。Hth.

由于所有项目都在同一个解决方案中,Visual Studio知道如何管理此依赖关系。只需在ProjectB、ProjectC、ProjectD中添加对ProjectA的项目引用。要执行此操作,请在解决方案资源管理器中的“引用”上单击鼠标右键,转到“添加引用”,然后单击“项目”选项卡


这将创建一个生成依赖项,使ProjectA在任何时候生成ProjectB、C或D,并且这些项目将引用正确ProjectA\bin\Debug或\bin\Release(或您当前使用的任何解决方案配置)中的DLL确保所有内容都是最新的,并且DLL不需要到处复制。

谢谢您的回答。即使部署了应用程序,这是否仍然有效?当我的程序部署时,我正在计划这种结构。(见编辑问题)你应该看看这篇文章谢谢,我会记下来的。