1

我有一个看起来像这样的实体类(自动生成):

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 为我创建的实体类。我在这里想念什么?

4

3 回答 3

2

您不能跨项目访问部分类。部分类的“部分”被编译为单个程序集中的单个类。

于 2013-10-01T05:13:08.967 回答
2

我的解决方法是重新启动 Visual Studio。我的版本是 Professional 2017。

于 2017-06-20T20:43:37.007 回答
1

我有这个问题。我发现我的消费项目是通过程序集引用而不是项目引用来引用源项目。此外,被引用的程序集存储在驱动器文件夹中,并且该驱动器文件夹被添加为使用项目中的引用路径。如您所料,我在源项目中的更新正在编译,但我引用的程序集没有。我删除了我的消费项目中的引用并将其重新添加为项目引用,等等!问题解决了!

不要问我为什么我的消费项目使用引用路径从同一解决方案中的另一个项目访问已编译的程序集。请不要。

于 2021-01-31T15:09:31.930 回答