باسلام
من یه برنامه با ADO در ویژوال استدیو 2013 نوشتم که میخوام الان تو ویژوال استدیو 2017 تبدیل به Entity بکنمش. ولی وقتی قسمت Datalayer رو به پروژه اضافه میکنم و تو پروژه اصلی رفرنس اون رو اضافه میکنم نه میتوم فضای نام های مربوط رو using کنم و نه از کلاس هاش استفاده کنم. مشکل کجاست ؟ عکس پیغام خطا رو ضمیمه کردم.
سلام
این خطا میگه چنین فضای نامی نیست
بررسی کنید رفرنس داده باشید در REFRENCES
از رفرنس دادن لایه دیتا مطمئن هستم. چه دلیل دیگه ای ممکنه داشته باشه؟
Public نباشه
Public هست
روی سولوشن کلیک راست کنید و Clean رو بزنید و بعد ReBuild کنیید
کاری گه گفتید رو انجام دادم یه علامت کنار رفرنس لایه دیتا ایجاد شد. دلیلش فکر میکنید چی باشه؟
پاک کنید دوباره رفرنس بدید
متاسفانه تغییری ایجاد نشد . بازم همون ارور رو میده. لایه cash.app رو هم لازمه داخل cash.DataLayer رفرنس بدم یا خیر؟
ممکنه راهنماییم کنید؟؟ من الان از اون RTlMessageBox هم نمی تونم استفاده کنم و دقیقا همین ارور رو میده . در حالی که مراحل رو کاملا طبق ویدیو شما پیش رفتم
ویژوال را از کجاد دانلود و نصب کردید ؟
به آخرین نسخه آپدیت شده ؟
از همون آدرسی که داخل آموزش مقدماتی گفته بودید دانلود کردم . نسخه 15.9.4 هست.
ویژوال استدیو رو آپدیت کردم . و هر کار دیگه ای که به ذهنم میرسید انجام دادم . ولی متاسفانه درست نشد.
چرا فضای نام این کلاس Cash هست ؟
مگر در لایه دیگه نبود و چرا اینجا داره using میشه ؟
میخوام تو این فرم برای ذخیره اطلاعات در دیتا بیس از unitof work استفاده کنم. فضای نام فرم unitof word رو اینجا using می کنم.
این عکس unitof workهستش.
کلاس uow و کلاسی دارید در اون استفاده میکنید کدش رو قرار بدید ببینم
کلاس uow
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Cash.DataLayer.Repository;
using Cash.DataLayer.Services;
namespace Cash.DataLayer.Context
{
public class UnitOfWork : IDisposable
{
CashDBEntities db=new CashDBEntities();
private ICashLineRepository _cashLineRepository;
public ICashLineRepository CashLineRepository
{
get
{
if (_cashLineRepository == null)
{
_cashLineRepository = new CashLineRepository(db);
}return _cashLineRepository;
}
}public void Save()
{
db.SaveChanges();
}public void Dispose()
{
db.Dispose();
}
}
}
این ابتدای فرم NewLineForm هست که برای ذخیره ازش میخوام استفاده کنم. کد قسمت سیو رو هم به خاطر همین ارور نتونستم بنویسم
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Globalization;
using System.IO.Ports;
using System.IO;
using System.Drawing.Printing;
using System.Drawing.Text;
using System.Threading;
using ValidationComponents;namespace Cash
{
public partial class NewLineForm : Form
{
اینم شکل پیکر بندی پروژم
چرا هر دو در یک فضای نام هستند ؟
مگه uow در پروژه جدا نیست ؟
فضای نامش رو عوض کنید و تست کنید
پروژه را جایی آپلود کنید و لینک بدید دانلود کنم ببینم
مشکل جالبیه
الان برنامه رو ایمیل میکنم براتون. ممنون از کمکتون
ایمیل شد.
ورژه دات نت پروزه هاتون یکی نیستند
روی پروژه App کلیک راست کنید و گزینه Properties و بعد تب Application برید و target framework را روی 4.61 بزارید
نسخه پوزه دیتای شما 4.6.1 است ولی پروزه اصلی 4.5
وای ممنون . درست شد. متشکرم.