我正在解析project.assets.jsonC# 項(xiàng)目中的文件以檢索項(xiàng)目的依賴項(xiàng)(我將其作為從項(xiàng)目文件中提取文檔信息的項(xiàng)目的一部分執(zhí)行此操作)。我在網(wǎng)上找不到太多文檔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", ] }, }}從概念上講,我的解析器查看目標(biāo)部分并提取項(xiàng)目引用的 DLL 的路徑。對(duì)于包,該路徑相對(duì)于本地 nuget 包存儲(chǔ)庫(kù)(通常為C:\Users\<username>\.nuget\packages)。但我遇到過(guò)一些情況 - 提取就是其中之一 - 指定的 DLL ( Microsoft.IdentityModel.JsonWebTokens/5.3.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.dll) 在本地 nuget 存儲(chǔ)庫(kù)中不存在。事實(shí)上,庫(kù)部分顯示了存儲(chǔ)庫(kù)路徑 ( Microsoft.IdentityModel.JsonWebTokens/5.3.0),該路徑在存儲(chǔ)庫(kù)文件夾中不存在(甚至沒(méi)有Microsoft.IdentityModel.JsonWebTokens文件夾)。然而,具有“損壞”參考的項(xiàng)目構(gòu)建時(shí)沒(méi)有任何錯(cuò)誤,并且運(yùn)行正常。我很感激其他人可能對(duì)如何解決這些“損壞的”存儲(chǔ)庫(kù)路徑有任何見(jiàn)解。如果有人知道這方面的在線文檔,project.assets.json那就太好了。
1 回答

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