【发布时间】: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