我正在解析project.assets.jsonC# 項目中的文件以檢索項目的依賴項(我將其作為從項目文件中提取文檔信息的項目的一部分執行此操作)。我在網上找不到太多文檔project.assets.json。它似乎有許多部分。這是摘錄:{ "version": 3, "targets": { "Microsoft.IdentityModel.JsonWebTokens/5.3.0": { "type": "package", "dependencies": { "Microsoft.IdentityModel.Tokens": "5.3.0", "Newtonsoft.Json": "10.0.1" }, "compile": { "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} }, "runtime": { "lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll": {} } }, }, "libraries": { "Microsoft.IdentityModel.JsonWebTokens/5.3.0": { "sha512": "GmiwCJPEe+V8+2GO3kD8K0IeqNHlTL0xZcHePIjyJveRn7OderxdT32aCZeJZEvz5w2Jlyag3zdyu1zkdTJo2A==", "type": "package", "path": "microsoft.identitymodel.jsonwebtokens/5.3.0", ] }, }}從概念上講,我的解析器查看目標部分并提取項目引用的 DLL 的路徑。對于包,該路徑相對于本地 nuget 包存儲庫(通常為C:\Users\<username>\.nuget\packages)。但我遇到過一些情況 - 提取就是其中之一 - 指定的 DLL ( Microsoft.IdentityModel.JsonWebTokens/5.3.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll) 在本地 nuget 存儲庫中不存在。事實上,庫部分顯示了存儲庫路徑 ( Microsoft.IdentityModel.JsonWebTokens/5.3.0),該路徑在存儲庫文件夾中不存在(甚至沒有Microsoft.IdentityModel.JsonWebTokens文件夾)。然而,具有“損壞”參考的項目構建時沒有任何錯誤,并且運行正常。我很感激其他人可能對如何解決這些“損壞的”存儲庫路徑有任何見解。如果有人知道這方面的在線文檔,project.assets.json那就太好了。
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
查找文件packageFolders的部分project.assets.json。這就是我所擁有的:
"packageFolders": {
"C:\\Users\\zivkan\\.nuget\\packages\\": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
Microsoft.IdentityModel.JsonWebTokens聽起來很像 ASP.NET Core 使用的東西,因此 .NET Core SDK NuGetFallbackFolder 聽起來很可能是它的位置。
通過使用 json 文件中列出的包文件夾,如果在將其全局包文件夾重定向到遠離默認用戶配置文件位置的項目上使用,您的程序也會更加健壯。
- 1 回答
- 0 關注
- 201 瀏覽
添加回答
舉報
0/150
提交
取消