repo นี้เป็น ส้อม ของ Jamesnk/Newtonsoft.json ที่มีการสร้างแบบกำหนดเองสำหรับสแตนด์อโลนปกติ แต่ที่สำคัญกว่า AOT เป้าหมายเช่น IL2CPP ทั้งหมดสร้าง (WebGL, iOS, Android, Windows, Mac OS X) และ Portable .NET (UWP, WP8) .
ตั้งแต่ปลายเดือนกุมภาพันธ์ 2565 Unity ได้เผยแพร่แพ็คเกจที่อัปเดตแล้ว : [email protected]
แพ็คเกจของพวกเขาตั้งแต่ v2.0.0-preview.1 เป็นส้อมของส้อมนี้ของ Newtonsoft.json สิ่งนี้ยังคงเป็นจริงสำหรับการเปิดตัวล่าสุดของ V3.0.1 ซึ่งหมายความว่าโดยการเปลี่ยนไปใช้แพ็คเกจอย่างเป็นทางการของพวกเขาคุณจะได้รับ:
Newtonsoft.Json.Utilities.AotHelper
Type I แยกจาก Saladlab ซึ่งเป็นส่วนสำคัญของส้อมนี้ตั้งแต่เริ่มต้น
IL2CPP ทั้งหมดของฉันและรหัสที่ได้รับการจัดการการลอกข้อบกพร่องเฉพาะ
ใช้ส้อมที่ทันสมัยของ Newtonsoft.json แต่ตอนนี้ยังคงทันสมัยโดยพนักงาน Unity แทนที่จะเป็นฉัน
นอกจากนี้ยังรวมอยู่ในความสามัคคีรุ่นใหม่เสมอเนื่องจากแพ็คเกจภายในของ Unity จำนวนมากขึ้นอยู่กับมันดังนั้นคุณอาจไม่จำเป็นต้องติดตั้งอีกต่อไป!
ฉันจะให้การสนับสนุนต่อไปเท่าที่ฉันสามารถเปลือยในเวลาว่างในประเด็นและการอภิปรายอย่างไรก็ตาม โปรดมุ่งเน้นตั๋วสนับสนุนของคุณไปยัง https://forum.unity.com/, https://answers.unity.com /และ https://issuetracker.unity3d.com/
ในการเริ่มต้นใช้งานแพ็คเกจอย่างเป็นทางการคุณสามารถติดตามคู่มือการติดตั้งของฉันได้ที่นี่:
จัดเตรียม Newtonsoft.json v10.0.3, v11.0.2, v12.0.3 และ v13.0.1 ทางเลือก
Newtonsoft.json-for-unity.converters แพ็คเกจสำหรับการแปลงประเภทความสามัคคีเช่น Vector3, Quaternion, สีและอีกมากมายอีกมากมาย!
การสนับสนุนอย่างเต็มที่สำหรับการสร้าง IL2CPP
จัดส่งผ่าน Unity Package Manager เพื่อการอัปเดตและเปลี่ยนเวอร์ชันได้อย่างง่ายดาย
Full Newtonsoft.json.tests Test Suite ผ่าน Unity 2018.4.14F1 และ 2019.2.11F1 กับ Mono และ IL2CPP เป็นสคริปต์แบ็กเอนด์
คอมไพล์ล่วงหน้าเป็น dlls สำหรับการสร้างที่เร็วขึ้น
newtonsoft.json.utility Aothelper Utility Class สำหรับการแก้ไขปัญหาก่อนเวลาทั่วไป (อ่านเพิ่มเติมเกี่ยวกับ AOT)
เอกสารที่กว้างขวางของการแก้ปัญหา AOT ด้วย link.xml
ใช่. ตอนนี้มันคือ นับตั้งแต่ Unity นำแพ็คเกจนี้มาใช้ตั้งแต่ปลายเดือนกุมภาพันธ์ 2565 เพื่อจัดทำแพ็คเกจนิวตันซอฟท์ที่ได้รับการดูแลอย่างเป็นทางการให้กับระบบนิเวศเอกภาพ
เป้าหมายของฉันคือก่อนที่จะเป็นส้อมที่ทันสมัยที่สุดของ Newtonsoft.json สำหรับ Unity Technologies Unity ได้ดำเนินการในบทบาทนี้แล้ว
ที่เก็บนี้เสร็จสิ้นงานแล้ว: เพื่อให้ newtonsoft.json และตอนนี้มันได้รับการรับรองอย่างเต็มที่จากความสามัคคีเองฉันสามารถเลิกโครงการนี้อย่างมีความสุขไม่เหมือนใคร
GUID [...] for assets '...' conflicts with: '...'
GUID [6c694cfdc33ae264fb33e0cd1c7e25cf] for asset 'Packages/jillejr.newtonsoft.json-for-unity/Plugins/Newtonsoft.Json AOT/Newtonsoft.Json.dll' conflicts with:
'Packages/com.unity.nuget.newtonsoft-json/Runtime/AOT/Newtonsoft.Json.dll' (current owner)
We can't assign a new GUID because the asset is in an immutable folder. The asset will be ignored.
นี่เป็นเพราะแพ็คเกจของ Unity, com.unity.nuget.newtonsoft-json
และแพ็คเกจนี้มีอยู่ในโครงการในเวลาเดียวกัน สิ่งนี้ไม่ได้รับการสนับสนุนและไม่มีแผนโดยตรงในการทำงานนี้
คุณต้องถอนการติดตั้งแพ็คเกจนี้อย่างน่าเศร้า jillejr.newtonsoft.json-for-unity
และพึ่งพาแพ็คเกจของพวกเขาแทนอย่างสมบูรณ์
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 49a3afa..f0edd27 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -18,7 +18,7 @@
"com.unity.collab-proxy": "1.2.16",
"com.unity.test-framework": "1.1.22",
"com.unity.ugui": "1.0.0",
- "jillejr.newtonsoft.json-for-unity": "13.0.102",
+ "com.unity.nuget.newtonsoft-json": "3.0.1",
"jillejr.newtonsoft.json-for-unity.converters": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
อ่านเพิ่มเติม: #111 (ความคิดเห็น)
com.unity.nuget.newtonsoft-json
คืออะไร?ฉันได้ลองสรุปว่าดีที่สุดเท่าที่จะทำได้ที่ #145
ฉันเขียนเอกสารเกี่ยวกับการติดตั้งส้อมใหม่อย่างเป็นทางการ (ของส้อมของฉัน) ของ newtonsoft.json ซึ่งสามารถพบได้ที่นี่: https://github.com/jillejr/newtonsoft.json-for-unity/wiki/install- อย่างเป็นทางการ-Via-upm
การติดตั้งผ่านแพ็คเกจติดตั้ง (ทดลอง)
คลิกที่นี่เพื่อดาวน์โหลด
Install-jillejr.newtonsoft.json-for-unity-13.0.102.unitypackage
เปิดไฟล์
.unitypackage
ที่ดาวน์โหลดใน Unity ทำอย่างง่ายดายโดย Drag'n'Dropping ไฟล์ลงในหน้าต่าง Unityคลิก "นำเข้า" เพื่อนำเข้าทั้งหมด
เมื่อตัวติดตั้งรวบรวมสำเร็จแล้วมันจะเพิ่มรีจิสทรี UPM และแพ็คเกจที่ถูกต้องลงในโครงการของคุณตามด้วยการลบตัวเอง
ตัวติดตั้งไม่ทำงานจนกว่าโครงการของคุณจะสามารถรวบรวมได้สำเร็จ ตรวจสอบให้แน่ใจว่าได้แก้ไขข้อผิดพลาดในการรวบรวมไวยากรณ์ทั้งหมดและอื่น ๆ แม้กระทั่งชั่วคราวเพื่อให้ผู้ติดตั้งอาจดำเนินการ
รักมาก❤ถึง @เข็ม-เครื่องมือสำหรับทำเครื่องมือที่ยอดเยี่ยม!
การติดตั้งผ่าน OpenUPM
openupm add jillejr.newtonsoft.json-for-unityคู่มือการติดตั้งเต็มรูปแบบที่ Wiki: การติดตั้งผ่าน OpenUPM
รักมาก❤ถึง @favoyang สำหรับการสร้างเครื่องมือที่ยอดเยี่ยม!
การติดตั้งผ่าน Pure UPM
คู่มือการติดตั้งเต็มรูปแบบที่ Wiki: การติดตั้งผ่าน Pure UPM
การติดตั้งผ่าน Git ใน UPM
คุณยังสามารถติดตั้งผ่าน Git สิ่งนี้จะถือว่าคุณติดตั้ง Git บนคอมพิวเตอร์ของคุณ
นี่เป็นเวอร์ชันที่แนะนำน้อยที่สุด (แต่ใช้เป็นทางเลือก) เพราะ:
คุณจะไม่สามารถอัปเดตแพ็คเกจผ่านอินเทอร์เฟซ Package Manager ได้หากคุณติดตั้งผ่าน GIT
สิ่งนี้ต้องการให้คุณเพื่อนร่วมงานของคุณและท่อส่ง CI/CD ของคุณต้องติดตั้ง GIT เพื่อให้โครงการสร้าง
ใช้เวลานานกว่าในการติดตั้งเป็น UPM ในเวอร์ชันส่วนใหญ่โคลนประวัติทั้งหมดของโครงการ
ใน Unity เวอร์ชันภายหลังคุณสามารถนำเข้าโดยตรงผ่านอินเตอร์เฟส Package Manager
จัดหา URL ต่อไปนี้:
https://github.com/jilleJr/Newtonsoft.Json-for-Unity.git#upm
คู่มือการติดตั้งเต็มรูปแบบที่ Wiki: การติดตั้งผ่าน Git in UPM
json.net
ขอบคุณที่คุณอ่านสิ่งนี้ :)
หากคุณต้องการมีส่วนร่วมนี่คือสิ่งที่คุณสามารถทำได้:
กระจายคำ! ❤ผู้ใช้เพิ่มเติม→ข้อเสนอแนะเพิ่มเติม→ฉันได้รับพลังมากขึ้นในการทำงานในโครงการนี้ นี่เป็นวิธีที่ดีที่สุดในการมีส่วนร่วม!
เปิดปัญหา อาจเป็นคำขอฟีเจอร์สำหรับตัวแปลงใหม่หรือบางทีคุณอาจพบข้อผิดพลาด?
จัดการกับหนึ่งในปัญหาที่ไม่ได้กำหนด หากดูเหมือนว่าเป็นงานที่สนุกในการแก้ปัญหาและไม่มีใครได้รับมอบหมายให้แสดงความคิดเห็นและบอกว่าคุณต้องการลองใช้
ฉันรู้ว่าปัญหาบางอย่างเป็นเรื่องเล็กน้อยดังนั้นหากคุณต้องการจัดการกับบางสิ่งเล็ก ๆ น้อย ๆ ให้ดูที่รายการของปัญหาที่ไม่ได้กำหนดไว้ที่ Repoistory Package Unity Converters
เปิดการประชาสัมพันธ์ด้วยคุณสมบัติใหม่หรือการแก้ไขปัญหา อย่าลืมถามก่อนที่จะเริ่มทำงานกับอะไรเลยดังนั้นจึงไม่มีสองคนกำลังทำงานในสิ่งเดียวกัน
การมีคำขอคุณสมบัติหรือการออกป๊อปอัพและการมีผู้ส่งแนะนำตัวเองเพื่อเพิ่มการประชาสัมพันธ์ในภายหลังสำหรับการแก้ปัญหาเป็นของขวัญที่ยิ่งใหญ่ที่สุดที่ผู้ดูแลพื้นที่เก็บข้อมูลจะได้รับ -
ฉันมีไฟล์ที่มีส่วนร่วมนี้ MD ที่มีแนวทางบางอย่าง อาจเป็นการดีที่จะอ่านก่อน
เอกสารเหล่านี้ถูกย้ายไปที่ ./ci/readme.md
คำขอดึงทั้งหมดจะต้องปฏิบัติตามกฎการจัดแต่งทรงผมหมายเหตุที่พบในไฟล์ .remarkrc
ภายใน repo นี้ ไฟล์ .md
จะถูก codacy โดยอัตโนมัติ แต่เพื่อเรียกใช้ในเครื่องคุณต้องติดตั้งสิ่งที่จำเป็นต้องมีก่อน:
ติดตั้ง NPM
ติดตั้ง remark-cli
และแพ็คเกจสไตล์
# You may need to add "sudo"
npm install --global remark-cli
# Intentionally not globally
npm install remark-lint remark-preset-lint-markdown-style-guide remark-frontmatter
แล้วผ้าสำลีออกไป! ตัวอย่างเช่น:
$ remark .github
.github/ISSUE_TEMPLATE/bug_report.md: no issues found
.github/ISSUE_TEMPLATE/feature_request.md: no issues found
.github/ISSUE_TEMPLATE/not-working-as-expected.md: no issues found
.github/ISSUE_TEMPLATE/question.md: no issues found
.github/PULL_REQUEST_TEMPLATE/code-update.md: no issues found
.github/PULL_REQUEST_TEMPLATE/docs-update.md: no issues found
เหตุการณ์ที่เกิดขึ้นทั่วไปมากพอที่เรามีหน้าวิกิสำหรับเพียงแค่นี้
อ่านการทำงานกับสาขาส่วน "การเปลี่ยนแปลงการเปลี่ยนแปลงจากหน้า Wiki Jamesnks repo"
การเปลี่ยนแปลงส่วนใหญ่ของ repo นี้สามารถนำไปใช้กับเวอร์ชันที่แตกต่างกันทั้งหมด ตัวอย่างเช่นการเปลี่ยนแปลงของ link.xml
หรือ bugfixes ในโปรแกรมแก้ไขปัญหา IL2CPP ควรนำไปใช้กับเวอร์ชันที่แตกต่างกันทั้งหมด 10.0.3, 11.0.2, 12.0.3 ฯลฯ
repo นี้มีไฟล์ .backportrc.json
ที่ใช้โดย Sqren/Backport CLI เพื่อทำให้ง่ายขึ้น มันเป็นเครื่องมือที่โดยทั่วไปแล้ว git cherry-pick
แต่ด้วยคุณสมบัติอื่น ๆ เช่นสร้างสาขาและ PR โดยอัตโนมัติ
ติดตั้ง node.js: https://nodejs.org/en/download/
ติดตั้ง backport
CLI ทั่วโลก
npm install -g backport
กำหนดค่าเครื่องมือ backport
มันต้องการโทเค็นการเข้าถึง gitHub และชื่อผู้ใช้ภายใน ~/.backport/config.json
ข้อมูลเพิ่มเติมที่นี่: https://github.com/sqren/backport/blob/master/docs/configuration.md#global-config-backportconfigjson
หลังจากการผสานการประชาสัมพันธ์ให้ชำระเงิน master
และดึง PR ที่ผสานใหม่ที่คุณต้องการ backport จากนั้นเรียกใช้ backport
CLI มันเป็นแบบโต้ตอบดังนั้นเพียงทำตามขั้นตอน
git checkout master
git pull
# The tool is interactive. Choose the merge commit you want to backport
# and it takes care of the rest.
backport
โครงการนี้ให้ประสบการณ์ Newtonsoft.json ที่มั่นคงแก่ชุมชน Unity เป็นโครงการงานอดิเรกสำหรับฉันและจะอยู่ฟรีเสมอ
หากเครื่องมือนี้ให้สิ่งที่คุณให้ความสำคัญให้ลองให้เหรียญกลับเข้าสู่เครื่องมือนี้ สนับสนุนฉันด้วยกาแฟหนึ่งถ้วยฉันดื่มของราคาถูก!
แพ็คเกจนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT (MIT)
ลิขสิทธิ์© 2019 Kalle Jillheden (jillejr)
https://github.com/jillejr/newtonsoft.json-for-unity
ดูลิขสิทธิ์เต็มรูปแบบในใบอนุญาต MD ภายในที่เก็บข้อมูล