相关疑难解决方法(0)

NuGet 包显示没有依赖项?

我尝试从 .NET 4.7.2 类库 (VS2017) 制作 NuGet 包,但结果 NuGet 包令人惊讶地显示没有依赖项(这是一个错误)。

我的设置是这样的:

  • 我的类库是 .NET Framework 4.7.2
  • 我的类库使用另一个NuGet 包(具有依赖项)。
  • 我的类库在 .csproj 中使用packageReferences
  • 我的类库包含一个正确的 .nuspec 文件
  • 我使用nuget.exe 包来创建包

nuget.exe包命令应自动填写所需的依赖-这也曾经是较早(在其他项目中)的情况。但是,当时我在我的类库中使用了packages.config而不是packageReferences。这有什么改变吗?

到底是怎么回事?

如何强制系统再次在我的包中包含所需的依赖项?

笔记:

  • 该包由我们 TeamCity 构建服务器(不带 VS2017)上的 MSBuild 脚本构建。构建脚本同时调用“nuget.exe restore”和后来的 “nuget.exe pack”作为其构建逻辑的一部分。

  • MSBuild 是 15.7 版

  • nuget.exe 是版本 4.6.2

.net nuget visual-studio-2017 packagereference .net-4.7.2

9
推荐指数
1
解决办法
7504
查看次数

创建 NuGet 包:NU5128 异常 - 不清楚如何修复

我有一个指向 .NET 4.7.1 库的 DLL。

可能无关紧要,但它是用 C# 编写的,并且使用“packages.config”模式而不是较新的 PackageReference 配置使用 NuGet 包。

我将它发布为 NuGet 包(多年来一直这样做)。但是现在当我执行以下操作时:

nuget pack -Properties Configuration=Release
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

错误 NU5128:在 nuspec 和 lib/ref 文件夹的依赖项组中声明的某些目标框架在其他位置没有完全匹配。请参阅以下操作列表: - 将 .NETFramework4.7.1 的依赖项组添加到 nuspec

我在 nuspec 的依赖项组中没有任何内容:

<?xml version="1.0"?> 
<package >   
    <metadata>
        <id>*******</id>
        <version>*******</version>
        <title>*******</title>
        <authors>*******</authors>
        <owners>*******</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>*******</description>
        <releaseNotes>*******</releaseNotes>
        <copyright>*******</copyright>
        <tags>*******</tags>
   </metadata> 
</package>
Run Code Online (Sandbox Code Playgroud)

这会消耗以下 NuGet 包:

  • Microsoft.AspNet.WebApi.Client v5.2.7
  • Microsoft.AspNet.WebApi.Core v5.2.7
  • Microsoft.CodeAnalysis.FxCopAnalyzers v2.9.8
  • Microsoft.CodeAnalysis.VersionCheckAnalyzer v2.9.8
  • Microsoft.CodeQuality.Analyzers v2.9.8
  • Microsoft.NetCore.Analyzers v2.9.8
  • Microsoft.NetFramework.Analyzers v2.9.8
  • Newtonsoft.Json v12.0.3
  • StyleCop.Analyzers v1.1.118

当我查看参考文献时,我看到以下内容(使用 ~ 来缩短路径):

  • Microsoft.CSharp ~.NETFramework\v4.7.1\Microsoft.CSharp.dll
  • Newtonsoft.Json ~\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll
  • 系统 …

.net nuget nuget-package nuspec

6
推荐指数
1
解决办法
3038
查看次数