• 1402/04/25

مشکل برنامه در پیدا کردن ویو های پروژه و اسقرار روی IIS :

سلام

Exception:  

System.InvalidOperationException: The view 'Index' was not found. The following locations were searched:

/Views/Home/Index.cshtml

/Views/Shared/Index.cshtml

/Pages/Shared/Index.cshtml

این اروری که مشاهده میکنید را زمانی که میخواستم پروژه اولین بار اجرا کنم به من میداد.

خب اون موقع با اضافه کردن .AddRazorRuntimeCompilation() مشکل حل شد به این صورت :

builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

 اما فقط برای توسعه پروژه !

حالا که میخوام پروژه رو روی IIS استقرار بدم دیگه کارساز نیست و همین ارور رو دقیقا توی Event Viewer به من میده.

که فقط برای صفحه Index نیست و برای تمام صفحات هست.

اسم صفحات هم چک کردم مشکلی ندارن.

خیلی ممنون میشم راهنمایی کنید.

  • 1402/04/25
  • ساعت 09:06

سلام دوست من وقتتون بخیر

دوست عزیزم لطفا یک بار اسم  View رو به اکشن مربوطه پاس بدین و مجدد تست کنید


  • 1402/04/25
  • ساعت 14:48
public IActionResult Index()
        {
            var products = _context.Products.ToList();
            return View("Index", products);
        }
public IActionResult Index()
        {
            var products = _context.Products.ToList();
            return View("/Views/Home/Index.cshtml", products);
        }
public IActionResult Index()
        {
            var products = _context.Products.ToList();
            return View("Views/Home/Index.cshtml", products);
        }

هیچکدوم اینا جواب نداد.
حتی پروژه ی جدید هم که درست میکنم این مشکل رو داره.

بدون این که کوچیک ترین تغییری توش انجام بدم بازم با همین مشکل مواجه میشن.


  • 1402/04/27
  • ساعت 01:08

دوست عزیزم از چه ورژن دات نتی استفاده میکنید؟


  • 1402/04/27
  • ساعت 02:30

از دات نت 7.0

پروژه رو بردم روی دات نت 6 ولی بازم همون ارور رو میده !

و یه چیز دیگه ای هم که هست

زمانی که مسیر پروژه رو با powershell میارم و از دستور dotnet run یا dotnet watch استفاده میکنم پروژه کاملا درست ران میشه.

اما زمانی که پروژه رو با ویژوال استدیو ران میکنم به مشکل میخوره.


  • 1402/04/28
  • ساعت 01:44

دوست عزیزم پروژه رو روی self host ران بگیرید و بررسی کنید


  • 1402/04/28
  • ساعت 14:32

self host منظورتون اینی هست که انتخاب کردم دیگه ؟

اگه منظورتون این هست روی این هم ران کردم و همون ارور رو میده.


  • 1402/04/29
  • ساعت 15:32

واقعا چه مشکلی داره تمام اینترنت رو زیر و رو کردم.

لطفا اگه کسی این مشکل رو داشته و درستش کرده راهنمایی کنه.


  • 1402/04/31
  • ساعت 09:19

دوست عزیزم من بررسی میکنم به موردی رسیدم به شما اعلام میکنم


  • 1402/04/31
  • ساعت 15:46

بلخره بعد از بررسی 100 تا راه مختلف راه حل رو پیدا کردم.

برای کسایی که این مشکل رو دارن مثل من کافیه چند تا کار ساده رو انجام بدید.

1- اول از همه cmd خودتون رو باز میکنید و دستور

dotnet --info

رو وارد میکنید.

و مثل این براتون ورژن .Net SDK  رو نمایش میده

2- حالا ویژوال استدیو خودتون رو باز میکنید.

توی منو بالا Help -> Check for updates رو میزنید.

یه همچین پنجره ای باز میشه که ورژن فعلی ویژوال استدیو رو جلوی Current Version نوشته.

3- حالا توی گوگل میزنید .net و وارد قسمت دانلود میشید 

https://dotnet.microsoft.com/en-us/download/dotnet/7.0

اینم لینکش البته اگه شما دات نت 6 هستید باید لینک تمام دانلود های دات نت 6 رو بیارید این برای دات نت 7 هست.

حالا باید بررسی کنید که کدام ورژن از .net sdk با ویژوال استدیو شما همخوانی داره و همونو نصب کنید

مثلا ورژن ویژوال استدیو من 17.4.9 هست.

و اینجا گفته که این ورژن از .net sdk یعنی 7.0.109 با ویژوال استدیو من همخوانی داره که نصبش کردم.

 

4- حالا باید ورژن های اضافیه جدید تر یا قدیمی تر .net sdk رو از روی سیستمتون حذف کنید.

که کافیه توی قسمت apps ویندوز سرچ کنید .net و ورژن های دیگه از .net sdk که با ویژال استدیو همخوانی نداره حذف کنید.

 

5- حالا کافیه سیستم رو ریستارت کنید و بعد از اون یه پروژه دقیقا هم نام با پروژه قبلیتون که این مشکل رو داشت بسازید.

و فایل های قبلی رو توی مسیر پروژه جدید بریزید.

بستگی به پروژتون داره من خودم این فایل هایی که توی تصویر انتخاب شده رو ریختم و بعد از اون از nuget package manager همه پکیج های مورد نیازتون و نصب میکنید و مشکل کاملا برطرف میشه. البته برای من که اینطوری درست شد.


  • 1402/05/01
  • ساعت 03:27

سلام دوست من وقتتون بخیر

ممنون بابت به اشتراک گذاری پاسختون


logo-enamadlogo-samandehi