2010-10-26 60 views
6

我在VS 2010中有一个解决方案文件,它有多个项目。Visual Studio参考不在多个项目环境中复制

现在,我有一个参考此dll调用MySql.Data.Entity.dll。

作为一个例子,我有在溶液中的下列项目设置:

  • 域(参照MySql.Data.Entity.dll)
  • Domain.Test(参照项目“域” )

我希望Domain.Test复制来自Domain的所有引用,所以我将该属性设置为“Copy Local - True”。它没有复制到Domain.Test项目。

我遇到过这个问题以前用dll。我做的是这样的:

namespace Domain.Helpers 
    { 
     /// <summary> 
     /// To trick VS to deploy required assemblies 
     /// </summary> 
     class BuildTricker 
     { 
      public void AssemblyTricker() 
      { 
       new LinFu.DynamicProxy.CallAdapter(null); 
       new NHibernate.ByteCode.LinFu.ProxyFactory(); 
      } 
     } 
    } 

而且工作正常。如果我“使用”它将知道它复制到“Domain.Test”的类。

问题是没有什么我可以初始化/“使用”从这个MySql.Data.Entity.dll。

注意:只需在Using语句中添加命名空间不会成功,您必须“使用”dll中的类才能将其复制。

我目前手动将此dll引用到所有需要它的项目中。

所以,我的问题是。我的配置有问题吗?或者这是一个VS限制?

感谢,

回答

1

这与COMReferences渔获,他们没有资源,所以他们不被复制。

通过将对MySql.Data.Entity.dll的Isolated属性的引用设置为True,将文件从原始位置复制到“Domain”项目的bin文件夹,最后复制到“Domain.Test”项目的bin文件夹中。

+0

什么是隔离属性?它似乎只存在于COMReferences – 2013-03-07 12:00:47

+0

@ M.Stramm这是正确的。我不知道我为什么写了那个... – MPelletier 2013-03-07 12:55:45