【问题标题】:Visual Studio 2015 update 3 cannot read NuGet packageVisual Studio 2015 更新 3 无法读取 NuGet 包
【发布时间】:2018-10-22 07:03:17
【问题描述】:

我能够从 NuGet.org 读取包,但我无法从我们的私有 NuGet 服务器 - Klondike 中仅读取某些包。

我跟踪了 VS2015 下载包的请求,VS2015 发送到 NuGet 源的查询字符串是:

?$filter=IsAbsoluteLatestVersion&searchTerm='Package-ID'&targetFramework='net'&includePrerelease=true&$skip=0&$top=126

问题在于参数targetFramework。当 VS2015 使用 targetFramework='net' 而无法读取框架 net461 的包时,它们会被跳过。

当我在 Postman 中执行请求并设置 targetFramework='net461' 时,我就可以找到包了。

我还注意到 VS2015 偶尔将目标框架从 net 更改为 net461

我的问题是:我需要配置我的 VS2015 还是必须更改我的 NuGet 包?

NuGet 包是从 .NET Core 2.0 项目创建的,这里是配置:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netcoreapp2.0;net461</TargetFrameworks>
    <Company>Stackoverflow</Company>
    <Authors>kat1330</Authors>
    <Description>Package consists banch of functionalities.</Description>
    <PackageTags>rules, rule engine</PackageTags>
    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    <IncludeSymbols>true</IncludeSymbols>
    <IncludeSource>True</IncludeSource>
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>..\cert.snk</AssemblyOriginatorKeyFile>
    <DelaySign>true</DelaySign>
    <VersionPrefix>1.0.0</VersionPrefix>
    <VersionSuffix>$(VersionSuffix)</VersionSuffix>
    <ApplicationIcon>favicon.ico</ApplicationIcon>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
  </ItemGroup>

</Project>

更新:NuGet包管理器的版本是: 3.5.0.1484 。这是最新的内容为我的Visual Studio 2015。

【问题讨论】:

  • 您使用的是您使用的nuget包管理器版本? span>
  • @PankajKapare NuGet 包管理器版本为:3.5.0.1484
  • 我不是很清楚你的问题。确认一下,您的意思是您可以从 Visual Studio 2015 在您的私有 NuGet 服务器上找到 nuget 包吗?您是否使用Nuget Package Mamager UI查找此套餐?另外,VS2015如何使用targetFramework='net'?您能否提供一些步骤给我们,以便我们清楚地理解这个问题,最好有截图。
  • 我可以找到来自 nuget.org 的包和来自私人来源的“某些包”。 “某些包”意味着有些是可见的,有些不是(我不知道为什么,试图理解这一点)。我同时使用包管理器控制台和 GUI。我没有某些步骤,因为只有我将源 URL 添加到 NuGet 包管理器。让我知道我可以向您提供哪些信息,因为我没有任何额外的配置。这让我很困惑。
  • 是无法找到预发布的包?您是否选中了Checkbox包括在Nuget Package Manager UI上的预级别?如果检查过,但你仍然找不到它,可以通过Onedrive将其中一个样本包分享给我,这样我就可以检查它,如果你不介意。 span>

标签: c# visual-studio visual-studio-2015 nuget


【解决方案1】:

我可以从 nuget.org 找到包和来自私人来源的“某些包”。 “某些包”意味着有些是可见的,有些是不可见的

由于您可以从 nuget.org 找到包和来自私有源的“某些包”(“某些包”意味着有些可见而有些不可见),因此,不可见包的原因应该与 包装本身与 nuget 和私有来源无关。

根据 package 的示例配置,我注意到 GeneratePackageOnBuild 的值设置为 False 而不是 True

  <PropertyGroup>
    ...
    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    ...
  </PropertyGroup>

当该值设置为 false 时,Visual Studio 将不会生成包。因此,您应该确定是否生成了包。如果已生成,请检查您是否可以访问并下载它。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多