我有:
所以在库B中,当我包含一个实现INode的部分Node类(在库B中定义)时,我突然在我的主类中出现错误,它使用来自库A的Node.错误告诉我在主类中我必须有一个使用语句库B.
有任何想法吗?
编辑 - 除了代码
// *** PROGRAM ***
class Program
{
static void Main(string[] args)
{
var context = new Model1Container();
Node myNode; // ** WITHOUT A using for Library B I have an error here ***
}
}
// ** LIBRARY A
namespace TopologyDAL
{
public partial class Node
{
// Auto generated from EF
}
public partial class Node : INode<int> // to add extension methods from Library B
{
public int Key
}
}
// ** LIBRARY B
namespace ToplogyLibrary
{
public static class NodeExtns
{
public static void FromNodeMixin<T>(this INode<T> node) {
// XXXX
}
}
public interface INode<T>
{
// Properties
T Key { get; }
// Methods
}
Run Code Online (Sandbox Code Playgroud)
}
编辑2 - 澄清是引用还是使用错误:
所以针对"Node myNode"出现的错误; 线是:
错误1类型"Topology.INode"1'在未引用的程序集中定义.您必须添加对程序集"Topology,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null"的引用.U:\ My Dropbox\source\ToplogyLibrary\TopologyDAL_ConsoleTest\Program.cs 11 13 TopologyDAL_ConsoleTest
当我让VS为我修复它时,它添加了Library2作为参考.也就是说,在客户端代码之前或之后没有"使用".所以问题是参考不使用问题.
编辑3 - 不是特别关于这个问题,但我现在注意到在程序项目中,我看不到mixin方法(来自库B),除非我有一个使用语句到库B?我可能会创建一个单独的问题.
我发生了什么事的理解是,你只能从主程序参考库和编译器会告诉你添加参考图书馆B,因为某些类型的图书馆,曝露出在图书馆B.定义
要解决此问题,请将库B的引用添加到主程序项目中.
这是一个小图.如果库A公开了库B中定义的类型,那么Main也必须引用库B. 以下情况不起作用:
_____________ _____________ _____________
| Main |references | Library A |references | Library B |
| -|------------|-> -|--------------|-> |
| | | public | | SomeType |
| | | SomeType | | |
| | | | | |
------------- ------------- -------------
Run Code Online (Sandbox Code Playgroud)
当库B中定义的类型可通过库A访问时,这只是一个问题.这将是以下情况之一:
Node)中定义的EDITED类型源自库B(INode<int>)中的类型.您需要从Assembly1添加对Assembly3的引用以使其编译.
_____________ _____________ _____________
| Main |references | Library A |references | Library B |
| -|------------|-> -|--------------|-> |
| | | public | | SomeType |
| |references | SomeType | | |
| -|------------|------------|--------------|-> |
| | | | | |
------------- ------------- -------------
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |