C# 使用同一解决方案中其他项目的引用

C# 使用同一解决方案中其他项目的引用,c#,reference,projects-and-solutions,C#,Reference,Projects And Solutions,我有一个c#解决方案,有许多项目。其中一个项目是其他项目的一种工具,我们称之为tool。它被编译成tool.dll,然后在解决方案中的其他项目(例如项目A和B)中引用。在工具项目中,我有一个对外部dll的引用,foo.dll 如果我需要在项目A中使用foo.dll中定义的方法,我可以通过引用tool.dll来实现吗?我知道我可以为每个项目添加foo.dll,但是如果它有新版本,我需要为每个项目手动更新它,而这正是我试图避免的 一般来说,我希望避免将foo.dll添加到每个项目中,并以某种方式将其

我有一个c#解决方案,有许多项目。其中一个项目是其他项目的一种工具,我们称之为
tool
。它被编译成
tool.dll
,然后在解决方案中的其他项目(例如项目A和B)中引用。在
工具
项目中,我有一个对外部dll的引用,
foo.dll

如果我需要在项目A中使用
foo.dll
中定义的方法,我可以通过引用
tool.dll
来实现吗?我知道我可以为每个项目添加
foo.dll
,但是如果它有新版本,我需要为每个项目手动更新它,而这正是我试图避免的

一般来说,我希望避免将
foo.dll
添加到每个项目中,并以某种方式将其仅添加到一个位置并共享。如果可能的话,还有别的办法吗


我不知道它是否重要,但我正在使用visual studio 2010和.NET framework 4。

您可以将
foo.dll
放在中心位置(磁盘上的位置,如
C:\Tools\foo.dll
),并从每个项目中引用相同的文件


为了避免每次更新都必须手动更新引用,您可以尝试将
foo.dll
包装到nuget包中(如果nuget.org上还没有)。这样,您就可以让nuget处理更新。

什么叫中心位置?我尝试使用
工具
项目作为我的中心位置。您可以在tool.dll中编写接口,该接口将共享从foo.dll到系统的rrst的方法。