nuget - 找不到nuget文件夹
问题描述
我找不到一些 nuget 包(VS 2019,asp.net core 2.2)。我发现在我的 .nuget 文件夹和 VS 中找不到 System.ComponentModels.Annotations,它旁边没有像所有其他包一样的“扩展”箭头:
在我的 .nuget 文件夹中:
我已经尝试清除我的包文件夹并重新构建以获取所有包。我试过更新包重新安装。我试过直接安装 system.componentmodel.annotations (而不是将它作为依赖项安装)。我的解决方案构建良好,但我在硬盘驱动器上的任何地方都找不到这个包。我还注意到 Microsoft.AspNetCore.Razor.Design 表现出完全相同的行为。
解决方案
当 NuGet 还原PackageReference
用于包的项目(所有 SDK 样式项目,以及选择加入传统项目)时,它会写入obj\project.assets.json
文件,这是 MSBuild 用于完成其余构建的文件。
查看packageFolders
我的测试项目的部分,我看到了:
"packageFolders": {
"c:\\git\\test\\globalPackages\\": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
请注意,我有一个nuget.config
将我的全局包文件夹从我的用户配置文件全局包文件夹中重定向,因此我创建的临时/假包不会污染我的真实开发环境。仅供参考,以防您想知道为什么看不到c:\users\zivkan\.nuget\packages
.
但请注意,有两个包文件夹。
System.ComonentModel.Annotations
在 的libraries
部分中寻找project.assets.json
,我看到:
"System.ComponentModel.Annotations/4.5.0": {
"sha512": "UxYQ3FGUOtzJ7LfSdnYSFd7+oEv6M8NgUatatIN2HxNtDdlcvFAf+VIq4Of9cDMJEJC0aSRv/x898RYhB4Yppg==",
"type": "package",
"path": "system.componentmodel.annotations/4.5.0",
"files": [
// list of every file in package
]
},
看到路径说system.componentmodel.annotations/4.5.0
,这意味着它可能在c:\git\test\globalPackages\system.componentmodel.annotations\4.5.0
和/或中的一个或两个中C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.componentmodel.annotations\4.5.0
。
对于尝试在 Powershell 中加载它的用例,您可以尝试加载lib\*
目录中的一个程序集。选择一个您认为与您的 Powershell 版本兼容的 TFM。
至于解决方案资源管理器没有twisty来扩展包的原因,去thetargets
部分找到包project.assets.json
,你会看到这个:
"System.ComponentModel.Annotations/4.5.0": {
"type": "package",
"compile": {
"ref/netcoreapp2.0/_._": {}
},
"runtime": {
"lib/netcoreapp2.0/_._": {}
}
},
换句话说,包没有引入任何资产或额外的 NuGet 依赖项。因此在解决方案资源管理器中没有什么可扩展的。
在这种特定情况下,这是因为netcoreapp2.0
运行时内置了程序集,并且Microsoft.NETCore.App
包具有它的编译时元数据。这就是为什么我问你为什么要找这个包裹。如果您使用在编译期间project.assets.json
查找构建使用的确切System.ComponentModel.Annotations.dll
内容,您会发现无法加载的仅元数据引用程序集。但是我在上面给出了关于如何找到包目录的说明,您可以在其中一个lib\*
目录中查找可加载的 dll 以尝试在 Powershell 中加载。
推荐阅读
- react-native - 无法使用组件“ImageBackground”创建圆角边框
- splunk - 需要每个 FROM_IP 及其相关 uid 的表 o/p
- reactjs - 使用 redux-sagas 在 React 应用程序中导入 XLSX 文件
- java - 使用 spring-cloud-gateway 获取基本身份验证信息
- javascript - React 输入表单中的前导零
- java - 为不同的 RSS 提要使用自定义的特定解析器
- bash - 在bash中使用带参数的函数中的全局变量
- r - 将数据框写入“.csv”文件而不指定文件路径
- c++ - 视口和视图有什么区别?
- c# - 使用带有 libgit2sharp 的 git 工作树来克隆和签出具有多个分支的现有存储库