এএসপি.নেট এমভিসি ফ্রেমওয়ার্ক 4.5 সিএসএস বান্ডেল হোস্টিংয়ে কাজ করে না


144

আমি এমভিসি 4 তে লিখিত অ্যাপ হারবারে একটি অ্যাপ চালাচ্ছি।

CSS ফাইলগুলির একটি বান্ডিল কাজ করে না। আমার স্থানীয় কম্পিউটারে ডিবাগ মোডে আমি অ্যাপটির কোড দেখতে পাই এবং ফাইলগুলিও দেখি। অ্যাপটি প্রত্যাশার মতো কাজ করে।

<link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/>
<link href="/Content/css/home/Home.css" rel="stylesheet"/>

আমি অ্যাপহারবারে অ্যাপ্লিকেশনটি আপলোড করার সময় আমি কোডটিতে বান্ডিলটি দেখি কিন্তু অ্যাপটি কাজ করে না।

<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>

আমি যখন এই লিঙ্কটি ব্রাউজ করি তখন আমি 403href পাই - নিষিদ্ধ: অ্যাক্সেস অস্বীকার করা হয়।

এটি কীভাবে সমস্যা সমাধান করবেন?


আপনি এই সমস্যাটি সমাধান করেছেন কিনা তা নিশ্চিত নয় তবে এই নিবন্ধটি আমার স্থির করে। stackoverflow.com/a/18474844/955831
জেসন ফোগলিয়া

উত্তর:


284

আমার অনুমান যে পথ Content/css আপনার অ্যাপ্লিকেশনটিতে ডিস্কে বিদ্যমান। এই ক্ষেত্রে আইআইএস অনুরোধটি পরিচালনা করবে, এমভিসি নয়।

নিশ্চিত হয়ে নিন যে বান্ডিলটির জন্য ভার্চুয়াল পাথ (স্টাইলবান্ডেল কনস্ট্রাক্টরের প্যারামিটার) ফাইল সিস্টেমের কোনও ফোল্ডারের সাথে মেলে না।

মন্তব্য থেকে:

"বান্ডিল তৈরি করার সময় অনুসরণ করার জন্য একটি ভাল কনভেনশন হ'ল" বান্ডেল "টিকে বান্ডিল নামের একটি উপসর্গ হিসাবে অন্তর্ভুক্ত করা হয় This এটি সম্ভাব্য রাউটিং দ্বন্দ্বকে রোধ করবে ""


2
ধন্যবাদ। লোকালহোস্ট চলাকালীন এটি কি স্বাভাবিক কাজ করে?
রিকার্ডো পোলো জারামিলো

3
এই উত্তরের জন্য ধন্যবাদ - আমাকে বাদাম চালাচ্ছিল!
ধনী টার্নার

8
"লোকালহোস্ট" দ্বারা রিকার্ডোপোলো, আপনার বিকাশ মেশিনে আইআইএস এক্সপ্রেসে এটি চালানোর সময় আপনি কী বোঝাতে চাইছেন? তবে হ্যাঁ, এটি সেখানে কাজ করা স্বাভাবিক কারণ আপনি সম্ভবত ডিবাগ মোডে চলছেন, যা বান্ডিলিং অক্ষম করে।
বিভিঘেলুওয়ে

1
আপনাকে ধন্যবাদ, এটি আজ আমাকে পাগল করে
দিচ্ছে

11
+1 এই উত্তরটি বান্ডিলিংয়ের সাথে ভার্চুয়াল পাথগুলি কীভাবে কাজ করে তা বুঝতে আমাকে সহায়তা করে। আমি এমএসডিএন-এ আসল পোস্টটি পড়েছি ( asp.net/mvc/tutorials/mvc-4/bundling- and- minication ) তবে আপনার উত্তরটি দিয়ে আমার সমস্যার সমাধান করার পরে, আমি পোস্টের শেষে খুঁজে পেয়েছিলাম ভার্চুয়াল সম্পর্কে কথা বলার পাঠ্যর কিছুটা পথ: "বান্ডিল তৈরি করার সময় অনুসরণ করার জন্য একটি ভাল কনভেনশন হ'ল" বান্ডিল "টিকে বান্ডিল নামের একটি উপসর্গ হিসাবে অন্তর্ভুক্ত করা। এটি সম্ভাব্য রাউটিং দ্বন্দ্বকে রোধ করবে। আমি মনে করি এই বাক্যটি গা /় / লাল / হলুদ সতর্কতা চিত্রের সাহায্যে রাখা উচিত। : ডি আপনাকে ধন্যবাদ!
স্যামুয়েল

45

এই সমস্যাটি ডিফল্টরূপে .NET .js বা .css এক্সটেনশানগুলির অনুরোধগুলিকে "প্রক্রিয়া" করে না।

এর জন্য দুটি ফিক্স রয়েছে (আপনার কেবলমাত্র এটি করতে হবে)

ক) বান্ডিলের নামগুলি থেকে এক্সটেনশানগুলি সরান। (প্রস্তাবিত) এর ফলে .NET অনুরোধটি প্রক্রিয়াকরণ করতে এবং এটি BundleModule এর মাধ্যমে চালিত করবে।

খ) এটিকে আপনার ওয়েবকনফাইগ এ যুক্ত করুন সিস্টেম.ওয়েব সার্ভার বিভাগে ওয়েবকনফাইগ এ যুক্ত করুন যা বান্ডেলমোডুলের মাধ্যমে .JET এবং .css অনুরোধগুলি চালিত করবে।

<modules runAllManagedModulesForAllRequests="true">
  <remove name="BundleModule" />
  <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>

সত্যিকারের কারণটি খুঁজে বের করে আমার ব্লগে আমার সাথে ভাগ করে নেওয়া রে মোরোর কাছে বড় চিৎকার: http://blog.cdeutsch.com/2012/11/fixing-404-erferences-for-aspnet-mvc-apps.html


দ্বিতীয় বিকল্পের সাথে মূল কারণ সম্পর্কে আরও তথ্যের সাথে আপডেট হয়েছে।
cdeutsch

1
আমার এই সমস্যাটি ছিল কারণ আমার বান্ডিলের নামটি একটি ফোল্ডারের মতো নাম যা "সিএসএস" এ শেষ হয়। যদিও আমার বান্ডেলে ঠিক একটি ফাইল এক্সটেনশন ছিল না, পরামর্শ এ আমাকে সমস্যার দিকে নিয়ে যান।
dsnunez

1
এটি সঠিক উত্তর হওয়া উচিত, এটি আমাকে একই সমস্যায় সহায়তা করে।
psulek

দুর্দান্ত উত্তর এটি আমাকে সাহায্য করে
DKR

এই ওয়েবসাইটটি << মডিউল> বিভাগটি ওয়েবকনফাইগ ওহ পুরুষের থেকে হারিয়েছে ...
এক্সডিএস

19

আমার সাথেও ঘটেছিল, যখন আমি আমার এএসপি.নেট এমভিসি অ্যাপটি অ্যাপবার্গে স্থাপন করার চেষ্টা করেছি।

নামটির সাথে আমার স্টাইলশিট বান্ডিল ছিল

@Styles.Render("~/Content/bootstrap")

এবং ফোল্ডার কাঠামো ছিল

- বিষয়বস্তু

- সামগ্রী \ বুটস্ট্র্যাপ \ ...

কেবলমাত্র "~/Content/bootstrap-css"আমার ইস্যুতে বান্ডিলের নামটি পরিবর্তন করে পুনরায় বিবর্তিত হয়েছে।


15

আমি জানি আমি এই প্রশ্নে 4 বছর দেরি করেছি তবে এটি আমার পক্ষে কার্যকর হয়েছে।

public static void RegisterBundles(BundleCollection bundles)
{
   ...

   BundleTable.EnableOptimizations = true;     // Added this           
}

2
উপরে এবং নীচে সমস্ত উত্তর। এটিই আমার পক্ষে কাজ করেছে।
হাইম কাটজ

3
আপনি ডিবাগ মোডে থাকাকালীন এটি অপ্টিমাইজেশন সক্ষম করে। যদিও কোনও বান্ডিলগুলি কোনও দেব মেশিনে কাজ করে কিনা তা যাচাই করার এই দুর্দান্ত উপায়, আপনার এই বিবৃতিটি আপনার কোডে ছেড়ে দেওয়া উচিত নয়।
রুডি

9

403 ত্রুটি সমাধান হয়েছে। এখানে 403 ত্রুটির একটি বিশদ ব্যাখ্যা এবং সমাধান রয়েছে।
সমাধানটি সিএসএস বান্ডিলের জন্য প্রদর্শিত হয়। তবে এটি জাভাস্ক্রিপ্টের ক্ষেত্রেও প্রযোজ্য।

http://www.mvccentral.net/Story/Details/articles/kahanu/stylebundle-403-error-solved

সংক্ষেপে, নিশ্চিত হয়ে নিন যে ভার্চুয়াল পাথ [Script | Style]Bundle("~/content/[script | css]")ফাইল সিস্টেমে কোনও ফোল্ডারের সাথে মেলে না (উদাহরণস্বরূপ C:\approot\Content\[script | css])[Script | Style]Bundle("~/content/[scriptDiff | cssDiff]")


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

উত্তম উত্তর, তবে আপনার কেবল একটি লিঙ্কই ছেড়ে দেওয়া উচিত নয়, লিঙ্কযুক্ত ওয়েবসাইটটি বন্ধ থাকলে ক্ষেত্রে এই লেখার কমপক্ষে প্রাথমিক পদক্ষেপগুলি এখানে রাখা ভাল।
ভিজিটর এম বারবোসা

5

আমি বান্ডেলকনফিগ ক্লাসে কোডের নীচে লাইন যুক্ত করে সমস্যার সমাধান করেছি

BundleTable.EnableOptimizations = false;

3

আমি যা করি তা খুব সহজ,

আমি স্ক্রিপ্টবান্ডলের শেষে "জেএস" যুক্ত করি: নতুন স্ক্রিপ্টবান্ডেল ("~ / বান্ডেল / অ্যাপজস") এবং আমি স্টাইলবান্ডেলের শেষে "সিএসএস" যুক্ত করি: নতুন স্টাইলবান্ডেল ("~ / বিষয়বস্তু / অ্যাপসিসিএস")

আমার ফোল্ডারের নামগুলি কখনই "জেএস" বা "সিএসএস" দিয়ে শেষ হয় না।

যা করা উচিৎ.


2

এটি 'স্ক্রিপ্টবান্ডেল ক্লাস' এর ক্ষেত্রেও প্রযোজ্য, কনস্ট্রাক্টরের 'প্যারামিটারের নাম' ওয়েব অ্যাপ্লিকেশন ফাইল সিস্টেমে কোনও পথের সাথে মেলে না তা নিশ্চিত করে। মনে রাখবেন আইআইএস ফাইল / অনুরোধটি সরবরাহ করার চেষ্টা করবে।


1

এনক্রিপ্ট করা ফাইল থেকেও সমস্যাটি আসতে পারে। আমি যখন বুটস্ক্র্যাপ ডাউনলোড করেছি এবং সরবরাহিত ফাইলগুলি ব্যবহার করি তখন এটি আমার কাছে ঘটেছিল। তারা উইন্ডোজ এক্সপ্লোরারকে সবুজ দেখিয়েছিল এবং ভিজ্যুয়াল স্টুডিওতে দুর্দান্ত কাজ করেছিল, তবে যখন মোতায়েন করা হয়, তখন আমি 403 ত্রুটি পেয়েছি।

আপনি বৈশিষ্ট্যগুলিতে গিয়ে সেগুলি এনক্রিপ্ট করা আছে তা দেখতে পারেন, তারপরে উন্নত বৈশিষ্ট্য এবং একটি এনসাইপড চেকবক্স রয়েছে।

আনচেক করুন এবং এটি আর কোনও সমস্যা হবে না।


0

আমার (403 নিষিদ্ধ) ত্রুটি নিয়ে একই সমস্যা রয়েছে। আমার ক্ষেত্রে কারণটি আমার প্রতিষ্ঠানের প্রক্সি সার্ভারটি আমার সিএসএস ফাইলটিকে অবরুদ্ধ করে। CSS ফাইলের নাম ব্লকের একটি নিয়মের সাথে মেলে।


0

আমি বুটস্ট্র্যাপ ফাইলটি খুঁজে পেলাম যে কন্টেন্ট ফোল্ডারে নেই, তাই আমি এটি প্যাকেজগুলিতে সন্ধান করেছি এবং সেখানে আটকিয়েছি .. এটি কার্যকর!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.