在Visual Studio
和我的 Asp.net核心项目中,我使用了一些 nuget数据包(例如StackExchange.Redis
,Serilog
等等..)。我决定使用Visual Studio2019。一切进展顺利,但是有一天,我注意到某些项目无法在解决方案中更新其引用的项目。因为它们(.net标准库)将输出代码带到obj文件夹而不是bin文件夹。
我决定返回Visual Studio2017。VS2017一切正常,但是这次它给了我一个运行时错误,例如找不到引用的程序集公钥等。
我已经由软件包管理器nuget manager
从解决方案中的所有项目中删除了旧的钱。我已经通过nuget Manager工具安装了新版本。但是项目似乎总是使用旧版本。
FileNotFoundException:无法加载文件或程序集'StackExchange.Redis,版本= 2.0.0.0,区域性=中性,PublicKeyToken = c219ff1ca8c2ce46'。系统找不到指定的文件。
例如,如果我安装了一个nuget包版本2.0.0.0,并且想将其全部从项目中删除,并且想通过升级或降级安装新版本。我该怎么办?我该如何更改?
更新:我已经从nuget和Windows卸载了2个软件包,但仍然可以看到该程序集! 严重性代码说明项目文件行抑制状态
错误CS0433类型'ConnectionMultiplexer'同时存在 'StackExchange.Redis.StrongName,版本= 1.2.6.0,文化=中性, PublicKeyToken = c219ff1ca8c2ce46”和“ StackExchange.Redis, 版本= 2.0.0.0,文化=中性, PublicKeyToken = c219ff1ca8c2ce46'Tursys.Pool.Storage.Api D:\ projects \ tursys \ PoolStorage \ src \ Tursys.Pool.Storage.Api \ Startup.cs 76有效
它们都不存在
答案 0 :(得分:0)
为任何人回答我自己的问题:
如何从项目中删除软件包: 在Visual Studio中,我想使用F12键进入文件。使用open target folder命令,我将已删除软件包的本地文件夹视为
C:\ Users \ HAMIT \ AppData \ Local \ Temp \ MetadataAsSource \ 821e7bd605414042826501fe0b5cdc21 \ 32ae5450ea724e84b62f983bdb6bb879
我已经删除了这些临时文件,但是通过重建过程,VS再次将它们还原了。这让我感到无聊,我找到了新的方式。始终存在一种使用 -force 参数从Visual Studio中删除软件包的技术,如下所示,在PM控制台中
Uninstall-Package -ProjectName "YourProjectName" -RemoveDependencies -Force
当您输入此命令时,它将询问您PackageId将被删除。输入您的包裹名称,就可以了!
如果您不完全知道软件包名称,则可以根据项目获得列表,如下所示:
Get-Package -ProjectName "YourProjectName"
更新:我也找到了解决方案!在Visual Studio 2019下将Aspnetcore框架2.2更改为3.0。现在似乎正确了dll,并且一切都已纠正。
答案 1 :(得分:0)
您可以尝试: