View Full Version : اررور نصب پکیج وقتی پکیج نصب هست!
raha raad
چهارشنبه 10 اسفند 1401, 23:09 عصر
سلام دوستان
من به تازگی شروع به یادگیری ASP.Net Core کردم و وقتی که پروژه رو ایجاد می کنم با خطاهای پی در پی مواجه می شم!
پروژه رو به هر دو صورت ASP.NET Core Web App و ASP.NET Core Web App(Model-View-Controller) ایجاد کردم.
از دات نت کور 7 استفاده کردم.
کلاس لایبرری های پروژه هم دات نت 7 هستند.
پکیج های زیر هم نصب کردم:
154577
به محض اینکه در این مرحله پروژه رو بیلد می کنم، اررور زیر نمایش داده می شه که هر چند علتش رو نمی دونم ولی با دستور dotnet restore رفع می شه.
154578
بعد وقتی می خوام مایگریشن بزنم، هر چند که پکیج نصب هست و ورژن پکیج رو متناسب با دات نت کور در نظر گرفتم ، با اررور زیر مواجه می شم:
154579
عالی میشه اگه راهنماییم کنید.
mmbguide
جمعه 12 اسفند 1401, 18:12 عصر
سلام.
اینکه اشکال اول رو با dotnet restore رفع میکنید مورد خاصی نیست چون در ایجاد برخی پروژه ها VS کتابخانه های ضروری را اضافه نمیکنه که با اجرای دستور dotnet restore این مشکل حل میشه. درخصوص بروز خطا در زمان migration بفرمایید solution شما از چند پروژه تشکیل شده و آیا در زمان Migration پروژه ای را انتخاب میکنید که DbContext آنجا هست؟ اگر چندین DbContext دارید هم باید مشخص کنید کدام DbContext را می خواهید Migrationبزنید.
raha raad
شنبه 13 اسفند 1401, 10:51 صبح
سلام.
اینکه اشکال اول رو با dotnet restore رفع میکنید مورد خاصی نیست چون در ایجاد برخی پروژه ها VS کتابخانه های ضروری را اضافه نمیکنه که با اجرای دستور dotnet restore این مشکل حل میشه. درخصوص بروز خطا در زمان migration بفرمایید solution شما از چند پروژه تشکیل شده و آیا در زمان Migration پروژه ای را انتخاب میکنید که DbContext آنجا هست؟ اگر چندین DbContext دارید هم باید مشخص کنید کدام DbContext را می خواهید Migrationبزنید.
ساختار پروژه به این صورت هست:
solution
- WebApp
- WebApp.EF
-WebApp.Contracts
-WebApp.Entities
-WebApp.Services
-WebApp.Test
پروژه فقط در کلاس لایبرری WebApp.EF دارای DbContext هست و همینطور در زمانی که پروژه پیش فرض MVC رو می ساخت، کانکشن استرینگ پیش فرض رو کامنت کردم. در نتیجه فقط یک کانکشن استرینگ دارم.
موقع مایگریشن WebApp.EF رو انتخاب کردم.
mmbguide
شنبه 13 اسفند 1401, 11:48 صبح
درزمان Migration پروژه EF را انتخاب کنید و در پروژه MVC اجازه بدید ConnectionString وجود داشته باشه. اگر هم نمی خواهید این کار را بکنید، رشته اتصال را در همان DbContext تعریف کنید. اگر باز هم به مشکل برخوردید یک کلاس در همان پروژه EF مطابق زیر ایجاد کنید:
public class cesContextFactory : IDesignTimeDbContextFactory<cesContext>
{
public cesContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<cesContext>();
optionsBuilder.UseSqlServer("Data Source = .; Initial Catalog = cesSolutions; Integrated Security = true;");
return new cesContext(optionsBuilder.Options);
}
}
raha raad
شنبه 13 اسفند 1401, 22:02 عصر
کلاسی که گفتید رو اضافه کردم. همینطور، دو تا نکته ظریف بود که در نظر نگرفته بودم:
1. پکیج Microsoft.EntityFrameWorkeCore.Design رو برای پروژه ای که startup بود (در پروژه من WebApp) هم نصب کردم.
2. پکیج ها رو به روزرسانی کردم.
و اینطوری اررور رفع شد.
mmbguide (https://barnamenevis.org/member.php?58349-mmbguide) ممنونم از زمانی که گذاشتید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.