Mar*_*arc 7 visual-studio nuget
有没有办法禁用项目中安装的特定nuget包的更新?
我已经对一些javascript库包进行了一些本地修改,并且不希望将来有人更新我的更改.
我从来没有创建自己的nuget包,我猜一个选项可能是分叉现有的包?
Ε Г*_*И О 29
我没有 package.config。(VS 2019,.NET Core 3.1)我所做的是更改项目的 .csproj,该项目包含我需要停止显示更新的包。
就我而言,它是 EPPlus,我将版本号括在方括号内。
<ItemGroup>
<PackageReference Include="EPPlus" Version="[4.5.3.3]" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
之后,它不再显示在 Nuget 包管理器的“更新”选项卡上。
而且它也不提供任何从其他地方更新的选项。(已安装选项卡、解决方案的 Nuget 等)
您需要重新启动 VS 以消除软件包旁边的黄色三角形。
Mat*_*ard 26
您可以尝试约束包,以便您的项目只允许使用特定版本.然后将阻止对任何较新版本的所有更新.
您可以通过编辑项目的package.config文件来完成此操作.例如,下面的行应该只允许使用版本2.1.0.
<package id="SomePackage" version="2.1.0" allowedVersions="[2.1.0]" />
Run Code Online (Sandbox Code Playgroud)
编辑:
警告:请注意,这仅适用于“管理 [项目] 的 Nuget 包”(很少使用),不适用于“管理解决方案的 Nuget 包”(您每隔一天使用一次)。看评论。
所以这根本就不是解决办法。我会把它放在这里,供一些随机的谷歌用户尝试,但它几乎没有用。
您可以PackageReference
像这样阻止单个版本的更新:
<PackageReference Include="IdentityServer4.AspNetIdentity">`
<Version>[3.1.1]</Version>
</PackageReference>
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它必须位于自己的元素中,而不是位于属性中,因此您必须手动编辑 .csproj。
VS2019看起来很有趣(一些黄色三角形),但只要重新启动它就会生效。
它不一样,allowedVersions=
因为据我所知,您只能锁定一个版本(例如,[3.1.0, 3.1.1]
或者(3.0.0, 3.1.1]
其他不起作用的版本!)
(我知道我正在死灵地回答这个问题 - 接受的答案是关于旧标签的<Package />
- 我的答案是关于新标签的<PackageReference />
)。
归档时间: |
|
查看次数: |
3504 次 |
最近记录: |