首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nuget包装不包装项目参考资料

Nuget包装不包装项目参考资料
EN

Stack Overflow用户
提问于 2022-06-09 02:53:36
回答 1查看 31关注 0票数 0

我有一个类库,我是作为nuget包发布

然而,当我尝试在一个演示应用程序中使用这个包时,当我尝试使用它时,我会得到这个错误。

代码语言:javascript
复制
System.MissingMethodException: Method not found: 'Hypermedia.Configuration.FieldBuilder`1<!0> Hypermedia.Configuration.DelegatingContractBuilder`2.RenameFieldUsingJsonPropertyName(System.String)'.
   at DISCOSweb_Sdk.Mapping.JsonApi.DiscosObjects.DiscosObjectContractBuilder.WithDiscosObject(IBuilder builder)
   at DISCOSweb_Sdk.Mapping.JsonApi.DiscosObjectResolver.CreateResolver()
   at DISCOSweb_Sdk.Clients.DiscosClient.GetMultiple[T](String queryString)
   at DISCOSweb_demo_app.Pages.SimpleFetching.GetMultiple.UpdateModel(Type t) in /home/james/repos/DISOSweb-sdk/src/demo-app/Pages/SimpleFetching/GetMultiple.cs:line 35

因此,RenameFieldUsingJsonPropertyName()方法实际上位于SDK的一个子模块中,并包含在一个项目引用中。

因此,我怀疑nuget构建并没有从引用的项目中获取代码。

代码语言:javascript
复制
    <ItemGroup>
        <ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia.JsonApi.Client\Hypermedia.JsonApi.Client.csproj" />
        <ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia\Hypermedia.csproj" />
    </ItemGroup>

如果是这样的话,我想我也可以在nuget上发布这个子模块,然后在SDK中引用这个子模块来解决这个问题。但是,我的子模块是其他人包的一个分支,带有一些补丁(包括添加此方法),所以我不想这样做,特别是因为我有带上游的PRs。

有没有办法强迫nuget构建获取所有的项目引用并包含它们?这也完全可能是我在这里乱叫错树了。

注意:我见过这个答案,但上面提到的旗帜在dotnet pack中似乎不存在

EN

回答 1

Stack Overflow用户

发布于 2022-06-09 08:28:38

当我读到你的问题时,我想到了两个想法:

  1. 坚持使用nuget pack而不是dotnet pack→,正如您已经提到的,使用dotnet pack构建较新的NuGet包的想法是拥有多个包,而不是一个包含多个程序集的包。 也许您可以使用.nuspec:因为您已经在构建其他项目,所以可以添加对dll的引用。
  2. 根据微软文档,您可以尝试如下:
代码语言:javascript
复制
<ItemGroup>
    <ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia.JsonApi.Client\Hypermedia.JsonApi.Client.csproj">
        <IncludeAssets>all</IncludeAssets>
    </ProjectReference>
    <ProjectReference Include="..\..\..\vendor\Hypermedia\Src\Hypermedia\Hypermedia.csproj">
        <IncludeAssets>all</IncludeAssets>
    </ProjectReference>
</ItemGroup>

免责声明:我没有测试任何一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72554227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档