分部类方法/属性在另一个项目中不可见
本文关键字:项目 另一个 类方法 属性 | 更新日期: 2023-09-27 18:33:21
我有一个实体类(自动生成),如下所示:
namespace FicServerData
{
using System;
using System.Collections.Generic;
public partial class Snapshot
{
public Snapshot()
{
this.ComponentQuotes = new HashSet<SnapshotPart>();
}
public int Id { get; set; }
public System.DateTime Time { get; set; }
public string Machine { get; set; }
public string AppName { get; set; }
public virtual ICollection<SnapshotPart> ComponentQuotes { get; set; }
}
}
然后我编写了一个实用程序分部类,如下所示:
namespace FicServerData
{
public partial class Snapshot
{
public IEnumerable<Quote> DerivedQuotes
{
get
{
...
}
}
}
}
因此,这两个文件位于同一项目中,并且您可以在同一命名空间中看到。现在在这个项目中,我可以毫无问题地访问我添加的属性。不过,我无法从引用它的项目中访问它:我只能访问 VS 为我创建的实体类。我在这里错过了什么?
不能跨项目访问分部类。分部类的"零件"在单个程序集中编译为单个类。
对我来说,修复方法是重新启动Visual Studio。我在专业版 2017。
我遇到了这个问题。我发现我的使用项目通过程序集引用而不是项目引用来引用源项目。此外,被引用的程序集存储在驱动器文件夹中,并且该驱动器文件夹作为引用路径添加到使用项目中。如您所料,我在源项目中的更新正在编译,但我引用的程序集没有编译。我删除了消费项目中的引用,并将其重新添加为项目引用,瞧!问题解决了!
不要问我为什么我的使用项目使用引用路径来访问同一解决方案中另一个项目中的已编译程序集。请不要。