ตั้งค่าโปรเจ็กต์
สร้างโปรเจ็กต์
Section titled “สร้างโปรเจ็กต์”ในการพัฒนาปลั๊กอินด้วย C# และ .NET เราจะสร้างโปรเจ็กต์ประเภท Class Library (ไลบรารีคลาส) เพื่อคอมไพล์โค้ดออกมาเป็นไฟล์ .dll ครับ ให้ทำตามขั้นตอนการสร้างใน Visual Studio 2022 ดังนี้:
🛠️ ขั้นตอนการสร้างโปรเจ็กต์ใน Visual Studio 2022
Section titled “🛠️ ขั้นตอนการสร้างโปรเจ็กต์ใน Visual Studio 2022”- เปิดโปรแกรม Visual Studio 2022:
- คลิกเลือกที่ปุ่ม
Create a new project(สร้างโปรเจ็กต์ใหม่) ที่หน้าต่างต้อนรับแรกสุด
- คลิกเลือกที่ปุ่ม
- เลือกเทมเพลต Class Library (สำคัญมาก):
- ในช่องค้นหาด้านบน ให้พิมพ์คำว่า
Class Library - มองหาเทมเพลตที่ชื่อว่า
Class Library(ที่มีไอคอนโลโก้ภาษา C# สีม่วงเข้ม และมีคำระบบปฏิบัติการกำกับด้านล่างว่าWindows, macOS, Linux) - กดปุ่ม
Next
- ในช่องค้นหาด้านบน ให้พิมพ์คำว่า
- ตั้งชื่อและเลือกโฟลเดอร์โปรเจ็กต์ (Configure your new project):
- Project name: ตั้งชื่อปลั๊กอินตามที่ต้องการ (เช่น
RevitToolkitหรือBIMToolkit) - Location: เลือกโฟลเดอร์สำหรับเก็บไฟล์โค้ดของคุณตามความเหมาะสม
- กดปุ่ม
Next
- Project name: ตั้งชื่อปลั๊กอินตามที่ต้องการ (เช่น
- เลือกเวอร์ชันของ .NET (Additional information):
- ในช่อง Framework ให้เลือกเป็น
.NET 8.0 (Long-Term Support)(สำหรับพัฒนาบน Revit 2025/2026) หรือ.NET 10.0(สำหรับพัฒนาบน Revit 2027 ขึ้นไป) - กดปุ่ม
Createเพื่อจบการตั้งค่าเริ่มต้นครับ
- ในช่อง Framework ให้เลือกเป็น
⚙️ ค่าแกนหลักใน .csproj
Section titled “⚙️ ค่าแกนหลักใน .csproj”หลังจากสร้างโปรเจ็กต์เสร็จสมบูรณ์แล้ว ให้ทำการ ดับเบิลคลิกที่ชื่อโปรเจ็กต์ของคุณ (เช่น BIMToolkit) ในแถบ Solution Explorer เพื่อเปิดหน้าแก้ไขโครงสร้างไฟล์ XML .csproj ขึ้นมา และใส่ค่าคอนฟิกเพื่อเปิดใช้คุณสมบัติที่จำเป็นของ Revit ดังนี้ครับ:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <!-- ค่าเป้าหมายคือ .NET 8 (สำหรับ 2026) หรือแก้ไขเป็น net10.0-windows ถ้าใช้ 2027 --> <TargetFramework>net8.0-windows</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> <!-- ค่าบังคับสำหรับ Revit ต้องเป็น x64 เท่านั้น (ห้ามเป็น Any CPU) --> <PlatformTarget>x64</PlatformTarget>
<!-- ซ่อนคำเตือนการชนเวอร์ชัน DLL (MSB3277) ที่เกิดจากระบบพึ่งพาของ RevitAPI เพื่อให้ Terminal สะอาด --> <MSBuildWarningsAsMessages>MSB3277</MSBuildWarningsAsMessages> </PropertyGroup>
<ItemGroup> <!-- อ้างอิง Core API --> <Reference Include="RevitAPI"> <HintPath>C:\Program Files\Autodesk\Revit 2026\RevitAPI.dll</HintPath> <!-- สำคัญมาก: ห้าม copy ลงโฟลเดอร์ output เพราะ Revit มีไฟล์หลักนี้อยู่แล้ว --> <Private>false</Private> </Reference> <!-- อ้างอิง UI API (สำหรับการทำหน้าต่าง Ribbon) --> <Reference Include="RevitAPIUI"> <HintPath>C:\Program Files\Autodesk\Revit 2026\RevitAPIUI.dll</HintPath> <!-- เหมือนด้านบน ห้าม copy ลง output --> <Private>false</Private> </Reference> </ItemGroup></Project>จุดที่ต้องระวัง
Section titled “จุดที่ต้องระวัง”- อย่าใช้
net10.0 - อย่าใช้
Any CPU - อย่าให้ Revit API DLL ถูก copy ไป output ถ้าไม่จำเป็น
เช็กให้ผ่านก่อนทำขั้นต่อไป
Section titled “เช็กให้ผ่านก่อนทำขั้นต่อไป”- Build ผ่าน
- ไม่มี path reference ผิด
- หา
RevitAPI.dllและRevitAPIUI.dllเจอจริง