এমভিসি 4 @ স্ক্রিপ্টগুলি "বিদ্যমান নেই"


201

আমি সবেমাত্র একটি এএসপি.নেট এমভিসি 4 প্রকল্প তৈরি করেছি এবং ভিজ্যুয়াল স্টুডিও 2012 আরসি ব্যবহার করেছি Indexএবং Createক্রিয়াগুলির জন্য একটি কন্ট্রোলার এবং রেজার দর্শন তৈরি করতে ।

আমি যখন অ্যাপ্লিকেশনটি চালাতে এসেছি এবং Createদর্শনে ব্রাউজ করেছি , নিম্নলিখিত ত্রুটিটি প্রদর্শিত হয়েছিল:

সংকলক ত্রুটি বার্তা: CS0103: 'লিপি' নামটি বর্তমান প্রসঙ্গে নেই

সমস্যাটি হ'ল নীচের কোডটি যা দেখার নীচে স্বয়ংক্রিয়ভাবে যুক্ত হয়েছিল:

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

স্ক্রিপ্টগুলির অস্তিত্ব নেই কেন?

আমি এসেম্বলি সিস্টেমের বেস ওয়েব পৃষ্ঠা শ্রেণীর দিকে নজর রেখেছি W ওয়েব.এমভিসি.ডিল, ভি 4.0.0.0

আমি নিম্নলিখিত সহায়তার বৈশিষ্ট্য উপলব্ধ দেখতে পারেন:

  • আয়াক্স
  • এইচটিএমএল
  • ইউআরএল

স্ক্রিপ্টস নামে কিছু নেই।

কোন ধারনা?

সম্পাদনা করুন:

আমার ওয়েবকনফিগ ফাইলটি দেখতে দেখতে (ভিজ্যুয়াল স্টুডিওটি তৈরি করা থেকে আউটচুড):

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

সম্পাদনা # 2:

লোকেরা @Scriptsসাহায্যকারীটি ব্যবহার সম্পর্কে ব্লগ করছে :

তবুও একটি নতুন উইন্ডোজ 8 ইনস্টলটিতে ভিজ্যুয়াল স্টুডিও 2012 আরসি ইনস্টল করার পরে আমি এখনও @Scriptsভিজুয়াল স্টুডিওটি উত্পন্ন দৃশ্যে এটি যুক্ত করার পরেও ব্যবহার করতে পারছি না !

সমাধান নীচে উপস্থাপন করা হয়।

কীভাবে এটি বন্ধ করবেন তা সম্পর্কে আমি নিশ্চিত নই, কারণ শেষ পর্যন্ত একটি আপডেটে সমস্যার সমাধান হয়েছে বলে মনে হয়েছিল। আমি একটি নতুন প্রকল্প ব্যবহার করে একটি পরিষ্কার ইনস্টল সম্পাদন করেছি বলে ডাবল চেক করেছি। তবে একই ব্যর্থ প্রকল্পটি আমি বিভিন্ন আপডেটের পরে এখন ঠিকঠাক কাজ করেছি এবং কোনও ম্যানুয়াল সুস্পষ্ট হস্তক্ষেপ নেই। সমস্ত ভাবনার জন্য ধন্যবাদ তবে সেই সময়ে অবশ্যই একটি সমস্যা ছিল;)


ইতিমধ্যে Web.config এ যুক্ত করার চেষ্টা করবেন? <system.web.webPages.razor> <pages pageBaseType=""> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> etc... </pages>
জাচ দেব

আমি ওয়েবকনফিগ থেকে বিভাগটি যুক্ত করেছি, তবে আমি সেই ফাইলটিতে কোনও পরিবর্তন করি নি।
ফ্যান্টাস্টিক

6
আপনার অর্থ "আমার দর্শন \ Web.config" ফাইলটি অ্যাপ রুট ওয়েবকনফিগ নয়। যে কোনও হারে, এটি ভুল এবং অনুপস্থিত <যোগ করা নেমস্পেস = "সিস্টেম. ওয়েবে.অ্যাপটিমাইজেশন" />। আপনি কি আরসির আগে ভিএস 12 বিটা ইনস্টল করেছেন? কি উইন 8 সংস্করণ?
রিকঅ্যান্ডএমএসএফটি

@ রিকঅ্যান্ডএমএসএফটি আমি সংস্করণগুলির বিরোধ নয় তা নিশ্চিত করার জন্য, ভিএস ২০১২ আরসি আইএসও থেকে একটি ইনস্টল সহ, রিলিজ পূর্বরূপ আইএসও থেকে একটি পরিষ্কার উইন 8 ইনস্টলেশন করেছি।
ফ্যান্টাস্টিক

@ রিকঅ্যান্ডএমএসএফটি আমার মতামত \ ওয়েবকনফিগ অঞ্চলগুলিতে কোনও দৃশ্য মিস করবে
মাসলো

উত্তর:


268

এখানে কী যুক্ত করা হয়

 <add namespace="System.Web.Optimization" /> 

দুটি ওয়েবকনফিগ ফাইলগুলিতে। আমার পরিস্থিতিটি ছিল যে আমার উভয় প্রজেক্টে System.Web.Optimization উল্লেখ এবং মূল / মূল ওয়েবকনফিগ তবে @ লিপিগুলি এখনও সঠিকভাবে কাজ করে নি। এটিকে কাজ করতে আপনার ভিউস ওয়েবকনফিগ ফাইলটিতে নেমস্পেসের রেফারেন্স যুক্ত করতে হবে।

হালনাগাদ:

এমভিসি 4 সিস্টেমের মুক্তির পরে. ওয়েবে.অપ્টিমাইজেশন এখন অপ্রচলিত। যদি আপনি একটি ফাঁকা সমাধান দিয়ে শুরু করেন তবে আপনাকে নীচের নুগেট প্যাকেজটি ইনস্টল করতে হবে:

Install-Package Microsoft.AspNet.Web.Optimization

আপনার এখনও আপনার ওয়েব.কনফিগ ফাইলগুলিতে সিস্টেম.ওয়েব.অપ્টিমাইজেশন উল্লেখ করতে হবে। আরও তথ্যের জন্য এই বিষয়টি দেখুন:

এমভিসি -3-রূপান্তরিত -4-অ্যাপ্লিকেশনটির জন্য System.Web.Optimization- এ রেফারেন্স কীভাবে যুক্ত করবেন

যেমনটি উল্লেখ করা হয়েছে, এই কাজটি করার জন্য উপরের পদক্ষেপের পরে ভিএস পুনরায় চালু করার প্রয়োজন হতে পারে।


8
আপনাকে Install-Package Microsoft.AspNet.Web.Optimizationখালি ASP.NET MVC4 টেমপ্লেট থেকে চালাতে হতে পারে কারণ এটি ডিফল্টরূপে অন্তর্ভুক্ত করা হয়নি।
পোর্টম্যান

@ পোর্টম্যান হ্যাঁ, যদি আপনি একটি ফাঁকা এমভিসি প্রকল্পের টেম্পলেট দিয়ে শুরু করেন তবে আপনাকে মাইক্রোসফ্ট.অ্যাস্পনেট.ওয়েব.অ্যাপটিমাইজেশন প্যাকেজ ইনস্টল করতে হবে।
মার্কো

2
এটি আমার জন্য ভিউ ফোল্ডারে কেবল ওয়েবকনফাইগে যুক্ত করা দরকার।
ব্যবহারকারী 1534664

9
এটি আসলে সমাধান। তবে এটি স্বীকৃত হওয়ার জন্য আমার ভিজ্যুয়াল স্টুডিও পুনরায় চালু করা দরকার to
জেসন এডস

4
আমাকে এটি আমার ভিউ / ওয়েবকনফাইগের সাথে যুক্ত করতে হয়েছিল এবং তারপরে ভিজ্যুয়াল স্টুডিও পুনরায় চালু করতে হয়েছিল।
কেভারম্যান

48

@Stylesএবং লাইব্রেরি @Scriptsদ্বারা সরবরাহ করা 2 নতুন সহায়ক System.Web.Optimization। নাম অনুসারে, তারা যথাক্রমে সিএসএস এবং জাভাস্ক্রিপ্ট ফাইল বা সংস্থানগুলি বান্ডিল এবং মাইনাইফ করে।

নামস্থান অন্তর্ভুক্ত করার চেষ্টা করুন System.Web.Optimizationদ্বারা পারেন @usingনির্দেশ বা এর মাধ্যমেweb.config

http://ofps.oreilly.com/titles/9781449320317/ch_ClientOptimization.html#BundlingAndMinification

হালনাগাদ

মাইক্রোসফ্ট নামের একটি পৃথক প্যাকেজে বান্ডিলিং / মিনিফিকেশন সরিয়ে নিয়েছে Microsoft.AspNet.Web.Optimization। আপনি নুগেট থেকে অ্যাসেম্বলিটি ডাউনলোড করতে পারেন ।

এই পোস্টটি আপনার জন্য দরকারী হবে।


2
সিস্টেম যুক্ত করা হচ্ছে.ওয়েব.অ্যাপটিমাইজেশন বলছে "CS0234: 'অপটিমাইজেশন' টাইপ বা নেমস্পেস নামটি 'সিস্টেম.ওয়েব" তে বিদ্যমান নেই। সিস্টেম. ওয়েবে.অপটিমাইজেশন নামে কোনও রেফারেন্স নেই either
ফ্যান্টাস্টিকজ্যামি

1
এটির উত্তর দেওয়ার পরে সিস্টেম.ওয়েব.অપ્টিমাইজেশন নেমস্পেসটি অচল করে দেওয়া হয়েছে, পরিবর্তে মাইক্রোসফ্ট.অ্যাসপনেট.ওয়েব.অ্যাপটিমাইজেশন ব্যবহার করার চেষ্টা করুন। আরও তথ্যের জন্য এই প্রশ্নটি দেখুন: stackoverflow.com/questions/9475893/…
জেরেমি জারেল

3
ব্যাখ্যা: System.Web.Optimizationনামস্থান অবচিত করা হয় না, System.Web.Optimization.dllহয়।
দেশপারটার

ধন্যবাদ! আমি যখন বিভিন্ন এআরএর লেআউট নিয়ে সমস্যা পেয়েছিলাম তখন এটি আমার পক্ষে কাজ করে।
বিকাশকারী

48

উপরের দিক থেকে একটি ছোট পদক্ষেপ অনুপস্থিত ছিল যা আমি অন্য একটি পোস্টে পেয়েছি। যোগ করার পরে

<add namespace="System.Web.Optimization" />

আপনার ~/Views/web.configনামস্থানগুলিতে, ভিজ্যুয়াল স্টুডিওটি বন্ধ এবং পুনরায় খুলুন। এই কাজটি পেতে আমাকে এই কাজটি করতে হয়েছিল।


2
এখানেও, ভিএস পুনরায় চালু করার কাজ হয়েছিল তবে এর আগেও এটি ত্রুটিটি দেখিয়েছিল ...?
Andreas

আমার ক্ষেত্রে ভিএস বন্ধ করা জরুরি ছিল না তবে আমি যে স্ট্যাচটিএমএল ভিউটি ব্যবহার করছিলাম তা বন্ধ করে পুনরায় খুলতে হয়েছিল
joalcego

29

আমি অঞ্চলগুলি ব্যবহার করছি, এবং এই সমস্যাটির বিরুদ্ধে এসেছি, আমি কেবলমাত্র ওয়েব ওয়েব কনফিগ থেকে নেমস্পেসগুলি অঞ্চলগুলির ওয়েবে অনুলিপি করেছি। কনফিগার এবং এটি এখন কাজ করে !!

    <add namespace="System.Web.Helpers" />
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization" />        
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.WebPages" />

15

আমারও একই সমস্যা ছিল এবং আমি এটি নিখুঁত করতে আমাকে সাহায্য করতে উইনমার্জ ব্যবহার করেছি। তবে আমি আরও গবেষণা করে দেখতে পেলাম যে রিকের জন্য এটির জন্য নিখুঁত ব্লগ পোস্ট রয়েছে

সারসংক্ষেপ:

  • <add namespace="System.Web.Optimization"/>ওয়েবকনফিগ ফাইলগুলিতে উভয় যুক্ত করুন
  • চালান Install-Package -IncludePrerelease Microsoft.AspNet.Web.Optimization
  • বান্ডিলিং কোড আপডেট করুন
  • লেআউট ফাইল আপডেট করুন
  • শেষ পদক্ষেপটি হল অন্য 10 টি গ্রন্থাগার আপডেট করা। আমি না এবং এটি ভাল কাজ করে। সুতরাং দেখে মনে হচ্ছে আপনি এটিকে বিলম্ব করতে পারেন (যদি না আমি ইতিমধ্যে তাদের 1 বা আরও বেশি আপডেট করি)। :)

এই ড্যান উত্তর দেওয়ার জন্য ধন্যবাদ! (এবং আমার ব্লগটি নির্দেশ করে)। তাঁর প্রশ্নের সূত্র ধরে তিনি আরসি দিয়ে শুরু করেছিলেন, তবে আমি মনে করি আপনি ঠিক বলেছেন। তিনি কেবল একটি বিটা প্রকল্পে আরসি সহ একটি নিয়ামক যুক্ত করেছেন।
রিকঅ্যান্ডএমএসএফটি

কয়েক সপ্তাহ কেটে গেছে এবং আপনি দুজনেই আমার নিজের সম্পর্কে দ্বিতীয় অনুমান করেছিলেন। আমি অবশ্যই আমার ট্যাবলেটে ভিএস 2012 রেখেছিলাম যার মেট্রো অ্যাপ্লিকেশন ছাড়া আর কিছুই ছিল না এবং দেখেছি এটি ব্যর্থ হয়েছে। আমি আবার কোনও ভিএম-তে চেষ্টা করব।
ফ্যান্টাস্টিক

এটি আমার পক্ষে কাজ করেছে। আপনাকে যা করতে হবে তার সঠিক নির্দেশের জন্য লিঙ্কযুক্ত নিবন্ধটি পড়ুন।
জাস্টিন 21

11

আমারো একই ইস্যু ছিল:

আমি যে সিস্টেম.ওয়েব.অપ્টিমাইজেশন সংস্করণটি ব্যবহার করছিলাম সেটি এমভিসি 4 আরসির জন্য পুরানো।

আমি ভিএস ২০১০-এ প্যাকেজ ম্যানেজার ব্যবহার করে আমার প্যাকেজগুলি আপডেট করেছি।

এই এমএসডিএন ব্লগে , মিঃ অ্যান্ডি আপনার এমভিসি 4 বিটা প্রকল্পকে এমভিসি 4 আরসিতে কীভাবে আপডেট করবেন সে সম্পর্কে কথা বলেছেন। আমার প্যাকেজগুলি আপডেট করার সাথে সাথে আমার জন্য সমাধানের জন্য স্ক্রিপ্টগুলি (বিশেষত ওয়েব অপ্টিমাইজেশন এক) পেয়েছে:

সর্বশেষতম সিস্টেম. ওয়েবে.অપ્টিমাইজেশন প্যাকেজ ইনস্টল করতে প্যাকেজ ম্যানেজার কনসোল (সরঞ্জাম -> গ্রন্থাগার প্যাকেজ ম্যানেজার -> প্যাকেজ ম্যানেজার কনসোল) ব্যবহার করুন এবং নীচের কমান্ডটি চালান:

Install-Package -IncludePrerelease Microsoft.AspNet.Web.Optimization

আপনার উল্লেখগুলিতে প্যাকেজের অন্তর্ভুক্ত System.Web.Optimization ফাইলটি ব্যবহার করুন।

অন্যান্য প্যাকেজ আপডেট করতে: সরঞ্জাম মেনু -> গ্রন্থাগার প্যাকেজ ম্যানেজার -> সমাধানের জন্য নিউগেট প্যাকেজগুলি পরিচালনা করুন।


5

একটি নতুন এমভিসি 4 আরসি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করুন এবং এটি চালান। লগইন নেভিগেট করুন যা একই কোড ব্যবহার করে

 @section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

লগইন.এসএইচটিএমএল যা কাজ করতে দেয় তা হ'ল ভিউ-ওয়েবকনফিগ ফাইল (অ্যাপের মূল সংস্করণ নয়) রয়েছে

<namespaces>

    <add namespace="System.Web.Optimization"/>

  </namespaces>

আপনার তৈরি দর্শন কেন কাজ করছে না এবং লগইন হচ্ছে?


আমি লগইন ব্যবহার করছিলাম না - এটি সম্ভবত ভালভাবে ভেঙে গেছে।
ফ্যান্টাস্টিক

5

আপনার রেজার ভিউয়ের উপরে শীর্ষস্থানীয় সিস্টেম.ওয়েব.অ্যাপটিমাইজেশন:

@using System.Web.Optimization

3

কমান্ডটি চালানোর সময় আমি এই সমস্যার মধ্যে পড়েছিলাম:

Install-Package -IncludePrerelease Microsoft.AspNet.Web.Optimization 

আমি ক্রিপ্টিক বার্তাটি পেয়েছি (কফির প্রথম কাপের আগে একটি দুর্দান্ত পাং পছন্দ করতে হবে):

ইনস্টল-প্যাকেজ: নির্দিষ্ট ক্রিপ্টোগ্রাফিক অ্যালগরিদম এই প্ল্যাটফর্মে সমর্থিত নয়।

আমি উইন্ডোজ এক্সপি SP3 এই চলমান করছি (পছন্দ দ্বারা নয়) এবং যা আমি দেখেছি যে আমি নির্দেশাবলী ব্যবহারকারী পোস্ট করেছে অনুসরণ ছিল artsnob উপর ASP.NET ফোরাম

  • দয়া করে নুগেটটি আনইনস্টল করুন এবং এটি পুনরায় ইনস্টল করার চেষ্টা করুন। আপনি যদি এটি করতে অক্ষম হন তবে প্রশাসক হিসাবে লগইন করুন।
  • সরঞ্জামগুলিতে যান => এক্সটেনশন ম্যানেজার => "নুয়েট প্যাকেজ ম্যানেজার" => আনইনস্টল নির্বাচন করুন
  • "নিউজেট" => ইনস্টল করে অনুসন্ধান করে এটি আবার ইনস্টল করুন।
  • যদি এটি কাজ না করে, দয়া করে পূর্ববর্তী পোস্টে উল্লিখিত হিসাবে, 1.7.x সংস্করণ ইনস্টল করার চেষ্টা করুন (এর অর্থ এই নয়, আপনাকে পূর্ববর্তী সংস্করণটি ব্যবহার করতে হবে, যদি এটি কার্যকর হয় তবে আমরা এই বাগটি রিপোর্ট করতে পারি, এবং এটি পেতে পারি সর্বশেষ সংস্করণ জন্য প্যাচ)।

একবার এটি চালানোর পরে আমি ওয়েবটি আপডেট করতে কমান্ড লাইনটি চালাতে পারি।

আশা করি এটি কারও কিছু খনন সাশ্রয় করেছে।


2

শুধু লেখো

@section Scripts{
    <script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/jqueryval")"></script>
}

@ আরকিল প্রতিস্থাপনের জন্য ধন্যবাদ - এটি একটি ভাল অস্থায়ী সমাধান হবে। তবে মূল প্রশ্নটি ছিল "স্ক্রিপ্টগুলির অস্তিত্ব কেন নেই?"
ফ্যান্টাস্টিক

@ জ্যামি এর অস্তিত্ব থাকা উচিত? আমি বোঝাতে চাইছি যতদূর মনে পড়ে, সেখানে কোনও স্কিপস সাহায্যকারী নেই। আপনি কিছু তৃতীয় পক্ষের সাহায্যকারী ব্যবহার করার চেষ্টা করছেন?
আর্কিল

1
আমি নিজেই কোডটি যোগ করি নি - ভিজুয়াল স্টুডিও 2012 আরসি এটি যুক্ত করেছে যখন এটি আমার তৈরি ক্রিয়াকলাপের জন্য ভিউ তৈরি করে। আমি মনে করি কোনওভাবে আমার এমভিসি 4 সঠিক নয়। এটি অবশ্যই কোথাও কাজ করবে কারণ স্কট হ্যানসেলম্যান ব্যর্থ বাক্য গঠনটিকে
ফ্যান্টাস্টিক

1

আমি বিটা থেকে আরসিতে আপগ্রেড করেছি এবং 'স্ক্রিপ্টস' এর মুখোমুখি হয়েছি সমস্যাটি নেই। সমস্ত ওয়েব জুড়ে সার্ফড এবং চূড়ান্ত সমাধান হ'ল এন 40 জেপিজে প্লাস আরেকটি ওয়ার্করউডন বলেছে:

ভিউ-ওয়েবকনফাইগে নিম্নলিখিতটি অনুলিপি করুন:

  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Helpers"/>
  </namespaces>

এবং নীচে দেখুন \ Shared_Layout.cshtml

@if (IsSectionDefined("scripts")) 
{
       @RenderSection("scripts", required: false)
}

আশা করি এটা সাহায্য করবে.


1
if (IsSectionDefined())আপনি কোনও elseধারা সরবরাহ না করে ব্যবহার করার দরকার নেই । আপনি যে বিষয়টি required: falseইতিমধ্যে বলছেন তা বিভাগটিকে সংজ্ঞায়িত করা যায় না এবং সেই ক্ষেত্রে বিভাগটি বাদ দেওয়া হবে। সুতরাং এটি অপ্রয়োজনীয় অতিরিক্ত কোড।
এরিক

0

স্পষ্টতই আপনি 'স্ক্রিপ্টস' ফোল্ডার ছাড়াই একটি 'খালি' প্রকল্পের ধরণ তৈরি করেছেন। আমার পরামর্শ-পূর্ণ 'স্ক্রিপ্টস' ফোল্ডার সহ একটি 'বেসিক' প্রকল্পের প্রকার তৈরি করুন।

সকল বিকাশকারীকে শ্রদ্ধার সাথে।


0

আপনার নিয়ামকের রেজার ভিউ তৈরি এবং সম্পাদনা করে কেবল কোডটি সরিয়ে / আড়াল করুন।

 @section Scripts {  

   @Scripts.Render("~/bundles/jqueryval")  
 }  

0
  1. : দেখুন পৃষ্ঠা অপসারণ।
  2. : নেমস্পেস ওয়েবকনফিগ যুক্ত করুন (দেখুন ডিরেক্টরিতে)
  3. : দেখুন চেষ্টা করে দেখুন!

শুভকামনা ...


0

পাত্রের জন্য আরও একটি - একই সমস্যাটি তৈরি করার চেষ্টা করে যুগে যুগে কাটানো - যদিও এটি ওয়েব কোডফাইজে সংজ্ঞা দেওয়া হয়েছে এবং ভিউজের মূলের জন্য। দেখা যাচ্ছে আমি ভুল করে এটিকে যুক্ত করেছি <system.web><pages><namespaces>, এবং <system.web**.webPages.razor**><pages><namespaces>উপাদানটি নয় ।

সত্যিই মিস যে মিস!


0

আমি যখন কোনও পৃষ্ঠাতে প্রবেশ করি যখন এই কোডটি রয়েছে:

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

এই ত্রুটি ঘটে: ত্রুটি। আপনার অনুরোধ প্রক্রিয়াকরণের সময় একটি ত্রুটি ঘটেছে।

এবং এই ব্যতিক্রমটি আমার লগগুলিতে রেকর্ড করা হয়েছে:

System.Web.HttpException (0x80004005): The controller for path '/bundles/jqueryval' was not found or does not implement IController.
   em System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
...

আমি এই পৃষ্ঠায় সমস্ত টিপস চেষ্টা করেছি এবং সেগুলির কোনওোটাই আমার জন্য সমাধান হয়নি। সুতরাং আমি আমার প্যাকেজ ফোল্ডারটি সন্ধান করেছি এবং লক্ষ্য করেছি যে আমার কাছে System.Web.Optmization.dll এর জন্য দুটি সংস্করণ রয়েছে:

  • মাইক্রোসফট.এস্পনেট.ওয়েব.অ પ્টিমাইজেশন
  • মাইক্রোসফ্ট.ওয়েব.অ પ્টিমাইজেশন .১.০.০ -বিটা (v1.0.0.0 - 304KB)

আমার প্রকল্পটি পুরানো বিটা সংস্করণে উল্লেখ করেছে। আমি কেবলমাত্র নতুন সংস্করণ (K৯ কেবি) -এর রেফারেন্সটি পরিবর্তন করেছি এবং eেউথিং ভাল কাজ করেছে।

আমি মনে করি এটি কারও সাহায্য করতে পারে।


0

যে একটি সুস্পষ্ট সমাধান আছে। আমারও পরে একই সমস্যা হয়েছিল। অ্যাসেম্বলি রেফারেন্স বা ... সম্পর্কিত নয় M এটি এমভিসি আংশিক দৃষ্টিকোণগুলির শ্রেণিবিন্যাসে ঘটবে, যখন আপনার পৃষ্ঠা পৃষ্ঠা কাঠামো জটিল হবে। সুতরাং প্রতিটি পৃষ্ঠায় প্রতিটি অংশকে আলাদাভাবে কলিং / রেন্ডারিং (সম্ভবত কোনও মাস্টার পৃষ্ঠা বা আংশিক) বেলো কোডের মতো পৃষ্ঠার প্রয়োজনীয় অংশগুলি দেখতে না পাবে:

@RenderSection("Scripts", required: false)

এটি কেবল পৃষ্ঠাটি সম্পর্কিত বিভাগটি সন্ধান এবং রেন্ডার করতে বাধ্য করে এবং ব্যর্থতার ক্ষেত্রে আপনাকে আপনার মতো একটি ত্রুটি বার্তা দেখায়।

তাই আমি তোমার তার partials সব মাস্টার থেকে আপনার পৃষ্ঠা (প্রোগ্রাম ট্রেস মত) ট্রেস সুপারিশ অধীনস্থ সনাক্ত করুন । হতে পারে এটি একটি ভয়াবহ কাজ, তবে এখানে অন্য কোনও পছন্দ নেই।

আমার অভিজ্ঞতা অনুসারে নয়, প্রোগ্রামিংয়ের কিছু শর্তাধীন পরিস্থিতি আপনাকে সঠিক ত্রুটি না দেখাতে সমস্যা সৃষ্টি করে।


0

আমি কোনও প্রকল্পের সাথে কোনও অঞ্চল যুক্ত করার পরে আমার এই সমস্যাটি ছিল that এ থেকে মুক্তি পেতে কেবল ওয়েব দ্য কনফাইগের সাহায্যে রুট ভিউ ফোল্ডারটি এলাকার দর্শনের ফোল্ডারে অনুলিপি করে কাজ শুরু করে।


0

আমি এমভিসিএমউজিক স্টোরে এই সমস্যাটি কোডের এই অংশটি _ লেআউটসিএক্সটিএমএল যুক্ত করে সমাধান করি

@if (IsSectionDefined("scripts")) 
{
       @RenderSection("scripts", required: false)
}

এবং edit.cshtml থেকে এই কোডটি সরান

 @section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

প্রোগ্রামটি চালান ইনশাল্লাহ আপনার সাথে কাজ করবে।


0

আমার জন্য এটি সমস্যার সমাধান করেছে, নিউগেট প্যাকেজ ম্যানেজার কনসোলে নিম্নলিখিতটি লিখেছেন:

update-package microsoft.aspnet.mvc -reinstall

0

আমি সম্প্রতি এমভিসি 4 ব্যবহার করা শুরু করার সময় খালি টেম্পলেটগুলির সাথে একটি প্রকল্প তৈরি করার সময় আমি উপরের সমস্যার মুখোমুখি হয়েছিলাম। সমস্যাটি সমাধানের পদক্ষেপ।

  1. যান TOOLS-> Library Package Manager-> Packager Manager Console নীচের কমান্ডটি পেস্ট করুন এবং এন্টার টিপুন Install-Package Microsoft.AspNet.Web.Optimization নোট: সফল ইনস্টলেশনটির জন্য অপেক্ষা করুন।
  2. মূল স্তরে যান ওয়েব.কনফিগ ফাইল এবং পৃষ্ঠাগুলির নামস্থান বিভাগে নাম স্থানের নীচে যুক্ত করুন। যোগ<namespace="System.Web.Optimization" />
  3. ভিউ ফোল্ডারে গোটো ওয়েব.কনফিগ এবং পদক্ষেপ 2 অনুসরণ করুন।
  4. সমাধান তৈরি করুন এবং চালান।

পদক্ষেপ 1 এ উল্লিখিত প্যাকেজটি সিস্টেমের মতো সমাধান রেফারেন্সগুলিতে কয়েকটি সিস্টেম লাইব্রেরি যুক্ত করবে e ওয়েভ.অপটিমাইজেশন এমভিসি 4 এ খালি টেম্পলেটগুলির জন্য কোনও ডিফল্ট রেফারেন্স নয়।

আশা করি এটা কাজে লাগবে. ধন্যবাদ


0

এমভিসি 3 থেকে এমভিসি 4 তে একটি প্রকল্প আপগ্রেড করার সময় আমার খুব অনুরূপ ত্রুটি হয়েছিল।

সংকলক ত্রুটির বার্তা: CS0103: বর্তমান প্রসঙ্গে নাম [বালাহ] বিদ্যমান নেই

আমার ক্ষেত্রে, আমি আমার বেশ কয়েকটি ওয়েব.কনফিগগুলিতে সংস্করণ নম্বর পুরানো করেছি।

  1. আমার প্রকল্পে প্রতিটি ওয়েবে.ইন.বি.বি.এমভিসি সংস্করণ নম্বর "3.0.0.0" থেকে "4.0.0.0" এ আপডেট করার দরকার ছিল on
  2. আমার প্রকল্পের প্রতিটি Web.Config এ আমার সমস্ত System.Web.WebPages, System.Web.Helpers এবং System.Web.Razor সংস্করণ নম্বরগুলি "1.0.0.0" থেকে "2.0.0.0" তে আপডেট করার দরকার ছিল।

উদা:

<configSections>
  <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  </sectionGroup>
</configSections>

...

<compilation debug="true" targetFramework="4.0">
  <assemblies>
    <add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>

আপনার প্রতিটি দৃশ্যের ডিরেক্টরিতে ওয়েব.কনফিগগুলি পর্যালোচনা করতে ভুলবেন না।

আপনি ASP.NET MVC 3 প্রকল্পকে ASP.NET MVC 4 তে আপগ্রেড করার বিষয়ে আরও পড়তে পারেন ।


0

যদি আপনি আপনার ওয়েবকনফিগটিতে যোগ করেছেন এবং এটি এখনও বার্তা দেখায় তবে আপনার প্রকল্পটি বন্ধ করে এটি আবার খুলতে হবে, এখন এটি উপস্থিত থাকবে এবং @ স্টাইলস। রেন্ডার ("") এবং @ স্ক্রিপ্টস R রেন্ডার () ভাল কাজ করবে।


-1

এটা চেষ্টা কর:

@section Scripts 
{
    Scripts.Render("~/bundles/jqueryval")  // <- without ampersand at the begin
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.