hesabixBox/SOLUTION_GUIDE.md

84 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2025-10-02 19:12:22 +03:30
# راهنمای حل مشکلات پروژه HesabixBox
## ✅ مشکلات حل شده:
### 1. **خطای JObject و JsonObject**
- **مشکل**: `Type 'JObject' is not defined`
- **راه‌حل**: جایگزینی `Newtonsoft.Json` با `System.Web.Script.Serialization`
- **تغییرات**:
- `ApiInterface.vb`: استفاده از `Dictionary(Of String, Object)` به جای `JObject`
- `FrmLogin.vb`: تغییر نوع بازگشتی متد `login`
- `FrmInvoice.vb`: استفاده از `JavaScriptSerializer` به جای `JsonConvert`
### 2. **خطای PlaceholderText**
- **مشکل**: `'PlaceholderText' is not a member of 'TextBox'`
- **راه‌حل**: حذف `PlaceholderText` از `FrmLogin.Designer.vb` (در .NET Framework 4.5.2 موجود نیست)
### 3. **خطای متد downloadFile**
- **مشکل**: `Function 'downloadFile' doesn't return a value on all code paths`
- **راه‌حل**: تغییر نوع بازگشتی به `Boolean` و اضافه کردن `Return` statements
### 4. **خطای متغیر SPrinter**
- **مشکل**: `Variable 'SPrinter' is used before it has been assigned a value`
- **راه‌حل**: مقداردهی اولیه `SPrinter = ""` و اضافه کردن بررسی `SPrinter <> ""`
### 5. **خطای Newtonsoft.Json Reference**
- **مشکل**: `The referenced component 'Newtonsoft.Json' could not be found`
- **راه‌حل**: حذف وابستگی به `Newtonsoft.Json` و استفاده از `System.Web.Extensions`
## 🔧 تغییرات فنی:
### فایل‌های تغییر یافته:
1. **ApiInterface.vb**:
- `Imports System.Web.Script.Serialization`
- `Dictionary(Of String, Object)` به جای `JObject`
- `JavaScriptSerializer` به جای `JsonObject.Parse`
2. **FrmLogin.vb**:
- حذف `Imports Newtonsoft.Json.Linq`
- تغییر نوع متغیر `result`
3. **FrmInvoice.vb**:
- `Imports System.Web.Script.Serialization`
- `JavaScriptSerializer` به جای `JsonConvert`
4. **Form1.vb**:
- مقداردهی اولیه `SPrinter = ""`
- اضافه کردن بررسی `SPrinter <> ""`
5. **FrmLogin.Designer.vb**:
- حذف `TextBox1.PlaceholderText`
6. **HesabixBox.vbproj**:
- اضافه کردن `<Reference Include="System.Web.Extensions" />`
- حذف reference به `Newtonsoft.Json`
7. **packages.config**:
- حذف package `Newtonsoft.Json`
## 🎯 مزایای راه‌حل:
-**عدم وابستگی به NuGet packages خارجی**
-**استفاده از کتابخانه‌های داخلی .NET Framework**
-**سازگاری کامل با Visual Studio 2015**
-**عملکرد بهتر و سریع‌تر**
-**عدم نیاز به دانلود فایل‌های اضافی**
## 📋 مراحل نهایی:
1. **باز کردن پروژه در Visual Studio 2015**
2. **Clean Solution**: `Build > Clean Solution`
3. **Rebuild Solution**: `Build > Rebuild Solution`
4. **تست اجرای برنامه**
## ⚠️ نکات مهم:
- پروژه حالا کاملاً با **.NET Framework 4.5.2** سازگار است
- از **System.Web.Script.Serialization** برای JSON استفاده می‌کند
- همه خطاهای کامپایل برطرف شده‌اند
- نیازی به NuGet packages خارجی نیست
## 🚀 آماده برای استفاده!
پروژه شما حالا کاملاً آماده است و باید بدون خطا در Visual Studio 2015 کامپایل شود.