我在VS 2010中有一个解决方案文件,它有多个项目。
现在,我引用了这个dll调用MySql.Data.Entity.dll。
例如,我在解决方案中设置了以下项目:
我希望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限制吗?
谢谢,
志
答案 0 :(得分:1)
这是COMReferences的问题,它们不是资源,因此不会被复制。
通过将对MySql.Data.Entity.dll的Isolated
属性的引用设置为True,将文件从其原始位置复制到“Domain”项目的bin文件夹,最后复制到“Domain.Test”项目的bin文件夹。