如何更改 nuget 包程序集版本
How to change a nuget packet assembly version
在 Visual Studio
我的 Asp.net 核心项目 中,我使用了一些 nuget 数据包(比如 StackExchange.Redis
、Serilog
等等)。我决定使用 Visual studio 2019。一切都很顺利,但有一天我注意到一些项目无法更新他们在解决方案中引用的项目。因为它们(.net 标准库)将输出代码带到 obj 文件夹而不是 bin 文件夹。
我决定 return Visual Studio 2017。VS2017 的一切都很好,但这次它给了我一个 运行 时间错误,例如找不到引用的程序集 public 键等。 . 如下所示
我已经从包管理器 nuget manager
的解决方案中的所有项目中删除了旧口袋。我已经通过 nuget 管理器工具安装了一个新版本。但是项目似乎总是使用旧版本。
FileNotFoundException: Could not load file or assembly 'StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46'. The system cannot find the file specified.
例如,如果我安装了一个 nuget 数据包版本 2.0.0.0,并且我想将其从项目中全部删除,并且我想通过升级或降级来安装新版本。我应该怎么办?我该如何更改它?
更新:我已经从 nuget 和 windows 中卸载了 2 个包,仍然项目看到了这个程序集!
严重性代码说明项目文件行抑制状态
Error CS0433 The type 'ConnectionMultiplexer' exists in both
'StackExchange.Redis.StrongName, Version=1.2.6.0, Culture=neutral,
PublicKeyToken=c219ff1ca8c2ce46' and 'StackExchange.Redis,
Version=2.0.0.0, Culture=neutral,
PublicKeyToken=c219ff1ca8c2ce46' Tursys.Pool.Storage.Api D:\projects\tursys\PoolStorage\src\Tursys.Pool.Storage.Api\Startup.cs 76 Active
两者都不存在
为任何人回答我自己的问题:
- VS-2019 使用新的错误修复将其输出文件夹更正为 bin 文件夹!但与nuget包删除问题无关
如何从项目中删除包:
在 Visual Studio 中,我想使用 F12 键转到文件。使用打开目标文件夹命令,我看到已删除包的本地文件夹为
C:\Users\HAMIT\AppData\Local\Temp\MetadataAsSource1e7bd605414042826501fe0b5cdc21ae5450ea724e84b62f983bdb6bb879
我已经删除了这个临时文件,但是通过重建过程 VS 再次恢复了它们。这让我有些无聊,我找到了一种新方式。总是有一种技术可以使用 -force 参数从 VisualStudio 中删除包,如下面的 PM Console
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
当您输入此命令时,它会询问您将删除 PackageId。写下你的包名就可以了!
如果您不确切知道您的包名称,那么您可以根据您的项目获得如下列表:
Get-Package -ProjectName "YourProjectName"
- 但是卸载到StackExchange.Redis.StrongName还是个谜!!!
更新:我也找到了解决方案!在 Visual Studio 2019 下将 Aspnetcore 框架 2.2 更改为 3.0。现在似乎正确的 dll 和所有内容都已更正。
你可以试试:
- 安装包 "YourProjectName" - 版本 6.2.0
在 Visual Studio
我的 Asp.net 核心项目 中,我使用了一些 nuget 数据包(比如 StackExchange.Redis
、Serilog
等等)。我决定使用 Visual studio 2019。一切都很顺利,但有一天我注意到一些项目无法更新他们在解决方案中引用的项目。因为它们(.net 标准库)将输出代码带到 obj 文件夹而不是 bin 文件夹。
我决定 return Visual Studio 2017。VS2017 的一切都很好,但这次它给了我一个 运行 时间错误,例如找不到引用的程序集 public 键等。 . 如下所示
我已经从包管理器 nuget manager
的解决方案中的所有项目中删除了旧口袋。我已经通过 nuget 管理器工具安装了一个新版本。但是项目似乎总是使用旧版本。
FileNotFoundException: Could not load file or assembly 'StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46'. The system cannot find the file specified.
例如,如果我安装了一个 nuget 数据包版本 2.0.0.0,并且我想将其从项目中全部删除,并且我想通过升级或降级来安装新版本。我应该怎么办?我该如何更改它?
更新:我已经从 nuget 和 windows 中卸载了 2 个包,仍然项目看到了这个程序集! 严重性代码说明项目文件行抑制状态
Error CS0433 The type 'ConnectionMultiplexer' exists in both 'StackExchange.Redis.StrongName, Version=1.2.6.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46' and 'StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46' Tursys.Pool.Storage.Api D:\projects\tursys\PoolStorage\src\Tursys.Pool.Storage.Api\Startup.cs 76 Active
两者都不存在
为任何人回答我自己的问题:
- VS-2019 使用新的错误修复将其输出文件夹更正为 bin 文件夹!但与nuget包删除问题无关
如何从项目中删除包: 在 Visual Studio 中,我想使用 F12 键转到文件。使用打开目标文件夹命令,我看到已删除包的本地文件夹为
C:\Users\HAMIT\AppData\Local\Temp\MetadataAsSource1e7bd605414042826501fe0b5cdc21ae5450ea724e84b62f983bdb6bb879
我已经删除了这个临时文件,但是通过重建过程 VS 再次恢复了它们。这让我有些无聊,我找到了一种新方式。总是有一种技术可以使用 -force 参数从 VisualStudio 中删除包,如下面的 PM Console
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
当您输入此命令时,它会询问您将删除 PackageId。写下你的包名就可以了!
如果您不确切知道您的包名称,那么您可以根据您的项目获得如下列表:
Get-Package -ProjectName "YourProjectName"
- 但是卸载到StackExchange.Redis.StrongName还是个谜!!!
更新:我也找到了解决方案!在 Visual Studio 2019 下将 Aspnetcore 框架 2.2 更改为 3.0。现在似乎正确的 dll 和所有内容都已更正。
你可以试试:
- 安装包 "YourProjectName" - 版本 6.2.0