Visual Studio引用未在多个项目环境中复制

时间:2010-10-26 22:08:23

标签: visual-studio visual-studio-2010 reference

我在VS 2010中有一个解决方案文件,它有多个项目。

现在,我引用了这个dll调用MySql.Data.Entity.dll。

例如,我在解决方案中设置了以下项目:

  • 域(对MySql.Data.Entity.dll的引用)
  • Domain.Test(对“域名”项目的引用)

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

我之前遇到过这个问题。我做的是这个:

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 个答案:

答案 0 :(得分:1)

这是COMReferences的问题,它们不是资源,因此不会被复制。

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