如何将 NuGet 包升级到特定版本。
这类似于使用 nuget 下载旧版本的软件包,但我已经安装了给定 nuget 软件包的版本。
我无法更新到最新版本,所以我想更新到特定版本。
我需要卸载然后重新安装还是可以一步升级?
尽管我已经安装了 Microsoft.AspNet.Web.Optimization 的 nuget 数据包,但我不断收到此错误...
无法加载文件或程序集“System.Web.Optimization,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”
显然,Nuget 中的版本是 v.1.13,而我的解决方案中某处引用的版本是 v.1.0.0 ...问题是,我找不到匹配这两个版本的方法。我找不到 v.1.0.0 的安装,也找不到删除或覆盖 1.1.3 的 1.0.0 的方法。
对此有什么帮助吗?
您需要查看任何代码,请告诉我,我将更新问题。
这是我的样品请求,
\n\n<?xml version=\xe2\x80\x9d1.0\xe2\x80\x9d encoding=\xe2\x80\x9dUTF-8\xe2\x80\x9d?>\n <methodCall>\n <methodName>login</methodName>\n <params>\n <param>\n <value>\n <struct>\n <member>\n <name>password</name>\n <value><string>XXXXXXXXXX</string></value>\n </member>\n <member>\n <name>username</name>\n <value><string>XXXX@XXX.com</string></value>\n </member>\n </struct>\n </value>\n </param>\n </params>\n</methodCall>\nRun Code Online (Sandbox Code Playgroud)\n\n这是我对请求的成功响应示例:
\n\n<struct>\n <member>\n <name>id</name>\n <value><string>12345</string></value>\n </member>\n <member>\n <name>api_status</name>\n <value><int>200</int></value>\n </member>\n</struct>\nRun Code Online (Sandbox Code Playgroud)\n\n问题:
\n\n我试图从.NET 控制台应用程序调用API端点。\n但是,它没有连接到服务器。谁能告诉我如何使用C#调用此API端点?
\n我在 Visual Studio 的包管理器控制台中运行了以下命令:
Find-Package analysisservices
Run Code Online (Sandbox Code Playgroud)
该命令给出以下输出:
对于一些名称相对比列宽长的包,它在末尾Id显示三个点。...当我将鼠标悬停在具有三个点的长名称上时,它不会显示任何工具提示...。
有没有办法调整显示列的宽度,以免长名称被截断?
更新:有一件事仍未解决。该命令是否还有其他附加参数Get-Package | ft -AutoSize可以使用,以便所有三个输出列在表视图本身中展开。我不介意这是否会导致水平滚动条。
我正在创建一个依赖于 Xamarin.Forms 的 NuGet 包。该包应该可以与任何最新版本的 Forms 一起正常工作,因此我将其设置为:
\n\n<Project Sdk="Microsoft.NET.Sdk">\n\n <PropertyGroup>\n <TargetFramework>netstandard2.0</TargetFramework>\n <PackageId>MyCompany.FormsExtras</PackageId>\n </PropertyGroup>\n\n <ItemGroup>\n <PackageReference Include="Xamarin.Forms" Version="4.*" />\n </ItemGroup>\n</Project>\nRun Code Online (Sandbox Code Playgroud)\n\n在本地构建并发布以测试...
\n\n$ dotnet pack -c Release -p:Version=0.9.0\n$ nuget add bin/Release/MyCompany.FormsExtras.0.9.0.nupkg -source ~/Dropbox/Packages/\nRun Code Online (Sandbox Code Playgroud)\n\n当我运行这些命令时,Xamarin.Forms 4.1.0.555618 是最新版本。
\n\n我现在尝试将此包放入现有项目中,该项目直接依赖于不同的旧版本的 Xamarin.Forms:
\n\n$ dotnet pack -c Release -p:Version=0.9.0\n$ nuget add bin/Release/MyCompany.FormsExtras.0.9.0.nupkg -source ~/Dropbox/Packages/\nRun Code Online (Sandbox Code Playgroud)\n\n...但它无法添加包并出现以下错误:
\n\nDetected package downgrade: Xamarin.Forms from 4.1.0.555618 to 4.0.0.425677. Reference the package directly from the project to select a different version. \n MyCompany.ToDo.Forms -> MyCompany.FormsExtras …Run Code Online (Sandbox Code Playgroud) 昨天我被介绍到 c# 和 Visual Studio,我知道这是一个非常简单的问题。但是我们正在将代码从 .NET 框架移植到 .net CORE。我的工作是将旧代码中存在的包/库安装到新代码中(解决方案的目标框架是 2.1)
但是如何在 NuGet 数据包管理器中看到 CORE 2.1 支持特定库?例如,我可以看看这是否支持图像上的 CORE,或者所有可用的包是否与 core 2.0 兼容,因为这是目标框架?

我知道,您不应该更改 NuGet 包的包 ID。但我做到了,因为进行了一次大的重构。
现在我想知道是否有适当的方法来定义后继 NuGet 包。
Nuspec 中的旧 ID:OldLibrary1
Nuspec/csproj 文件中的新 ID:Library1
如果用户打开 Visual Studio 解决方案的 NuGet 包管理窗口并安装了旧包 (ID OldLibrary1-1.0.0),他应该会看到包的更新/升级Library1-2.0.0。
有没有可能以某种方式定义它?
顺便说一下,我使用 ProGet 作为 NuGet 服务器。
在 VS2019 中,我创建了一个 .net core 3.0 项目,并从 Tools>NuGet Package Manager>Manage NuGet Package.... 在我的项目上安装了 jQuery 3.4.1。
搜索并成功安装它,但它不会复制我的 lib 或我的解决方案上的任何文件,只是在 .csproj 文件上添加了波纹管。
<PackageReference Include="jQuery" Version="3.4.1" />
Run Code Online (Sandbox Code Playgroud)
我该如何处理?
我发布了几十个 NuGet 包。大多数目标是 .NET Standard。Visual Studio 使我每次编译时更新这些包变得非常容易。
现在,我想升级这些包以充分利用 .NET 5.0。但我希望那些无法升级到 .NET 5.0 的人仍然可以使用现有的。另外,我不想创建全新的包,这样我每个包都有两个版本。
如果我没记错的话,一个 NuGet 包可以面向多个框架版本,我认为 Visual Studio 在安装到项目中时会自动加载正确的版本。但是,创建多个包目标并未融入 Visual Studio。
不知道这里有没有NuGet包专家。我想了解有关这是否可行的信息,完成它的最简单方法是什么,如何处理版本控制等。有什么好书或文章参考吗?
补充说明
我知道我可以在项目级别定位多个框架(使用TargetFrameworks项目文件中的元素)。但是我必须填充我的代码 if #if, else,endif块以利用每个目标框架。我不认为我想要这个。我的库方法签名将更改以利用诸如可空字符串之类的东西。我希望能够自由地做到这一点,而无需为所有内容创建多个版本。
nuget-package ×10
nuget ×7
.net ×4
.net-core ×2
c# ×2
.net-5 ×1
api ×1
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
nuspec ×1
proget ×1
xml-rpc ×1