Nuget 包不包含更新的类

问题描述 投票:0回答:1

我有一个库,我将其放入多个项目中。

今天我将 master 合并到了该库的分支中。

合并后,我创建了一个新的 beta 包来拉入我的开发分支项目,以便它包含主分支的所有内容以及开发分支使用的所有更改。

当我将新包拉入项目时,我发现以前分支版本中的某些类现在丢失了。

打开 PDP,我可以看到这些类不再包含在包中,并且一个类缺少一个字段,该字段明确存在于推送到 Nuget 的库解决方案中。

库项目中显示的类:

using Libraries.Models.Web.Interfaces;
using Libraries.Models.Web.Objects;
using Libraries.Models.Web.Page;
using JetBrains.Annotations;

namespace Libraries.Models.Web.Subjects
{
    [PublicAPI]
    public class SubjectPage : WebPage, ISubjectPage
    {
        public string Name { get; set; }
        public string Video { get; set; }
    }
}

拉入API项目时反编译的类:

// Decompiled with JetBrains decompiler
// Type: Libraries.Models.Web.Subjects.SubjectPage
// Assembly: Libraries.Models.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E2FEBB82-23D5-440C-989A-623618BBF3BA
// Assembly location: C:\Users\me\.nuget\packages\libraries.models.web\1.0.22.1-beta05\lib\netstandard2.0\Libraries.Models.Web.dll

using Libraries.Models.Web.Interfaces;
using Libraries.Models.Web.Objects;
using Libraries.Models.Web.Page;

namespace Libraries.Models.Web.Subjects
{
  public class SubjectPage : WebPage, ISubjectPage
  {
    public string Name { get; set; }
  }
}

请注意,反编译文件中缺少“视频”字段。

我以前没有见过这种行为,那么为什么当我打包库时,它似乎忽略了一些类和字段?

c# asp.net git package nuget
1个回答
0
投票

回答我的问题,因为我已经找到了问题的原因。

使用 dotnet peek 调查我的库解决方案中生成的 Nuget 包后,我可以看到所有丢失的项目都存在,因此这一定是上传到 Nuget 服务器的内容。

然后我查看了 Nuget 包的存储位置

C:\Users\me\.nuget\packages\libraries.models.web

我注意到软件包版本的日期是九月份。 然后我想起之前有一个中止的开发,并且软件包已从 Nuget 服务器中删除,但显然不是从本地用户配置文件目录中删除!

我不知道这些包存储在本地,所以对我来说失败的原因是简单的用户错误或知识差距。

希望这个问题和答案可以帮助其他人。

© www.soinside.com 2019 - 2024. All rights reserved.