将相同的“ * .dll”引用添加到同一解决方案中的多个项目中

问题描述 投票:10回答:5

我有一个Visual Studio 2008 .NET C ++ / CLI解决方案。我的解决方案包含许多子项目。我为每个项目定义一个自定义构建目录,并将其称为“输出”。

我的解决方案:

  • MyFirstProject(* .exe)
  • MySecondPrject(* .dll)
  • ...
  • MyNthProject(* .dll)

每个子项目使用Log4.net。因此,我创建了一个目录(称为LogBinary),并将log4.net DLL放在该文件夹中。然后,要使用log4net,我将此DLL添加为对每个项目的引用。

但是当我尝试编译我的主项目(* .exe)时,我得到了很多警告(超过400个。)>

仅举一个例子:

警告110警告C4945:'AbsoluteTimeDateFormatter':无法从中导入符号

'somepath \ log4net.dll':as'log4net :: DateFormatter :: AbsoluteTimeDateFormatter'已经从另一个程序集导入'log4net'“ somepath \ log4net.dll”

很多警告:

已经从另一个程序集中导入

为什么我会收到这些警告?是否有人可以将相同的DLL添加到多个项目中(使用GAC除外)?

我有一个Visual Studio 2008 .NET C ++ / CLI解决方案。我的解决方案包含许多子项目。我为每个项目定义一个自定义生成目录,并将其称为“输出”。我的解决方案:MyFirstProject(* ...

.net dll log4net gac
5个回答
5
投票

我终于找到了解决这个问题的方法,感觉好像不行了。我在a response from 'pyro_serv` on the msdn social site中找到了答案:


1
投票

更改项目上的引用,将所有“复制本地...”属性设置为false。


1
投票

今天我又遇到了同样的问题。首先,感谢乔恩·凯奇(Jon Cage)及其在此主题see above (or below)上的链接文章。 +1 !!!它解决了我的问题。


0
投票

我也遇到了同样的问题。它是由以下情况引起的,其中一个项目依赖于另一个项目:


0
投票

我对此情况也有相同的警告:

© www.soinside.com 2019 - 2024. All rights reserved.