多项目环境中,Visual Studio参考未被复制。

6

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

我现在引用了一个名为MySql.Data.Entity.dll的dll。

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

  • Domain(引用了MySql.Data.Entity.dll)
  • Domain.Test(引用了“Domain”项目)

我希望Domain.Test能够复制所有来自Domain的引用,所以我将该dll的属性设置为“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的限制?

谢谢,

Chi

1个回答

1
这就是 COM References 的问题,它们不属于资源,因此不会被复制。
通过将 MySql.Data.Entity.dll 的引用设置为 Isolated 属性为 True,该文件会从其原始位置复制到您的 "Domain" 项目的 bin 文件夹中,最终复制到您的 "Domain.Test" 项目的 bin 文件夹中。

什么是Isolated属性?它似乎只存在于COMReferences中。 - M.Stramm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接