কোডডম সরবরাহকারী ধরণের "মাইক্রোসফ্ট.কোডডম.প্রভাইডার্স.ডটনেটকম্পিলারপ্ল্যাটফর্ম.সিএসআরএপকোডপ্রোভিডার" সনাক্ত করা যায়নি


159

এটি ভিএস ২০১৫ ব্যবহার করে একটি ওয়েবএপিআই প্রকল্প।

পুনরুত্পাদন করার পদক্ষেপ:

  1. একটি খালি WebApi প্রকল্প তৈরি করুন
  2. "বিন \" থেকে "বিন \ ডিবাগ \" এ আউটপুট পাথ পরিবর্তন করুন
  3. চালান

এখানে চিত্র বর্ণনা লিখুন

যতক্ষণ না আমি বিল্ড আউটপুট পাথ "বিন to" থেকে "বিন \ ডিবাগ to" তে পরিবর্তন করেছি ততক্ষণ পুরোপুরি কাজ করছে আসলে, "বিন \" ব্যতীত অন্য কোনও আউটপুট পাথ কাজ করবে না।

আরেকটু অতিরিক্ত বিষয় হ'ল যে কোনও জায়গায় অন্য একটি আউটপুট পাথ থাকা যতক্ষণ না আমি "বিন \" তে একটি বিল্ড রেখে চলেছি ততক্ষণ কাজ করবে।

এটি সমাধানের জন্য সমাধান সরবরাহ করতে দয়া করে সহায়তা করুন। আমি অনুমান করি যে প্রকৃত স্থাপনার ক্ষেত্রে সমস্যাটি পড়বে।


আমি জিজ্ঞাসা করতে পারি আপনি কেন আপনার ওয়েব অ্যাপ্লিকেশনটির আউটপুট পথ পরিবর্তন করেছেন? ধন্যবাদ.
এক্স-মাও

এই ব্যতিক্রমটি প্রতিবারই ঘটে চলেছে যখন আমি এমএসবিল্ড কমাইলেশন চলাকালীন পূর্ববর্তী দৌড়ে থাকা এএসপি.নেট এমভিসি আবেদনকারকে রিফ্রেশ করি ।
নিকলে কোস্তভ

আমার সাথেও একই ঘটনা ঘটেছে. আমি .dll লাইব্রেরির কয়েকটিতে রেফারেন্স যুক্ত করার পরে এটি শুরু হয়েছিল। আমি লাইব্রেরিগুলি আনইনস্টল করে এবং পুনরায় ইনস্টল করে এটি ঠিক করেছি। কেন এমনটি ঘটেছিল সে সম্পর্কে কোনও ধারণা নেই ..
লেটি টেচেরা

উত্তর:


127

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

এই সমস্যাটি সমাধান করার জন্য আপনাকে প্রকল্পের টেমপ্লেট থেকে রোজলিন সংকলকটি সরিয়ে ফেলতে হবে । রোজলিন সরানো আপনার কোডটির কার্যকারিতা প্রভাবিত করবে না। এটি আমার এবং অন্যান্য কয়েকটি প্রকল্পের জন্য কাজ করেছে (সি # 4.5.2) যার উপরে আমি কাজ করেছি।

নিম্নলিখিত পদক্ষেপগুলি করুন:

  1. নীচে প্রদর্শিত কমান্ড লাইনটি ব্যবহার করে নুগেট প্যাকেজগুলি অনুসরণ করুন ( বা আপনি রুট প্রকল্প সমাধানে রাইট ক্লিক করে সেগুলি মুছে ফেলে নুগেট প্যাকেজ ম্যানেজারের জিইউআই ব্যবহার করতে পারেন) থেকে সরান ।

    PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
    PM> Uninstall-package Microsoft.Net.Compilers
  2. আপনার ওয়েব.কনফিগ ফাইল থেকে নিম্নলিখিত কোডটি সরান এবং আইআইএস পুনরায় চালু করুন । ( পদক্ষেপ 1 আপনার সমস্যার সমাধান না করে তবেই এই পদ্ধতিটি ব্যবহার করুন ))

    <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>


4
আমি প্রায় একদিন ধরে "'/' অ্যাপ্লিকেশনটিতে সার্ভার ত্রুটি" আটকেছি। আমি ভিজ্যুয়াল স্টুডিও 2015 এ একটি সাধারণ হ্যালো ওয়ার্ল্ড অ্যাপ্লিকেশন সংকলন করছি এবং এটি একটি ওয়েব সার্ভারে স্থাপন করছি এবং এই ত্রুটি পেয়েছি। উপরের <কম্পিউটার> লাইনগুলি সরিয়ে ফেলাও এই সমস্যাটি দূরে সরিয়ে নিয়েছে। আমি পৃথিবীতে কীভাবে এটি ঘটে এবং এর থেকে আরও ভাল সমাধান পাওয়া যায় কিনা তা জানতে চাই। আমি এটি বেশ অবিশ্বাস্যরূপে পেয়েছি যে আপনি কোনও হিট সমস্যা ছাড়াই এইভাবে একটি হ্যালো ওয়ার্ল্ড অ্যাপ্লিকেশন স্থাপন করতে পারবেন না, এমএস এর মতো এটি কোনও
পরীক্ষাও

4
রোজলিন সক্ষম করতে আপনি নীচের নিবন্ধটি দেখতে পারবেন এএসপি.নেট অ্যাপ্লিকেশনগুলিতে .NET সংকলক প্ল্যাটফর্ম ("রোজলিন") সক্ষম করে কেন এএসপি.নেটে রজলিন সংকলন? আপনার এএসপি.এনইটি অ্যাপ্লিকেশনে নতুন রোজলিন সংকলক সক্ষম করার ফলে দুটি প্রধান উপকার হবে: * নতুন ভাষার বৈশিষ্ট্যগুলির জন্য সমর্থন * সম্ভাব্য উন্নত অ্যাপ্লিকেশন শুরু / প্রাক-সংকলনের সময়
ভাইবস ২০০6

1
যখন আমি একটি নতুন ওয়েব প্রকল্প তৈরি করেছি, এটি ইতিমধ্যে স্থানটিতে থাকা সেই উল্লেখগুলি নিয়ে এসেছিল। কেন তারা ডিফল্টরূপে ইনস্টল করা হয়, তাদের উদ্দেশ্য কী? এছাড়াও আমার বুঝে রোজলিন হ'ল নতুন সি # সংকলক। কীভাবে এটি সরানো ভিজ্যুয়াল স্টুডিওকে ভেঙে দেয় না?
জেনস ম্যান্ডার

@ জেনস ম্যান্ডার দু'টিই সংকলন রানটাইম। আইআইএস-এ আমাদের ম্যানুয়ালি রোজলিন সংকলক সক্ষম করতে হবে। অনুগ্রহ করে নিবন্ধটি সম্পর্কে আমার আগের মন্তব্যে লিংকটি দেখুন'Enabling the .NET Compiler Platform.
vibs2006

আমার একই ত্রুটি হয়েছে, পরিশেষে মাইক্রোসফ্টের জন্য সর্বশেষতম প্যাকেজ আপডেট হয়েছে।
রেড

48

এই উত্তরের পরামর্শ অনুসরণ করতে সাবধান হন। এটি যখন সমস্যাটি হাতের মুঠোয় আসে তখন এটি পরবর্তী তারিখে বিভিন্ন সমস্যা সৃষ্টি করতে পারে।

আমি একই সমস্যা পেয়েছি। স্পষ্টতই .NET সংকলকটি লোড করা হয়নি GAC। এটি সমাধানের জন্য আমি যা করেছি তা হ'ল:

প্রথমত, প্যাকেজ পরিচালকের কনসোল প্রকারে:

PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

এখন, কোনও কারণে মাইক্রোসফ্টের দুর্দান্ত ভদ্রলোকরা আমাদের জন্য এটি জিএসি-তে ইনস্টল না করার সিদ্ধান্ত নিয়েছে। আপনি এটি বিকাশকারী কমান্ড প্রম্পটটি খোলার মাধ্যমে টাইপ করে ম্যানুয়ালি করতে পারেন:

gacutil -i "C:\*PATH TO YOUR APP CODE*\bin\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll"

উপসংহার

মাইক্রোসফ্ট সবাইকে নাগেটস দিয়ে এমন কিছু করার জন্য উত্সাহিত করার চেষ্টা করে যা নুগেট সিস্টেমের মাধ্যমে আপনি মাঝে মাঝে বাগগুলি চালান না করে ঠিক হতে পারে। একই প্রকল্পটি বিভিন্ন সমাধানে ব্যবহার করার চেষ্টা করুন, দুর্ঘটনাক্রমে (বা না) এর মধ্যে যে কোনও একটিতে এটি ব্যবহার করে এমন অনেকগুলি ন্যাজেট আপডেট করুন এবং আপনি যদি দুর্ভাগ্য হন তবে আপনি অন্য সমাধানটি তৈরির চেষ্টা করার সময় আমি কী বোঝাতে চাইছি তা দেখতে পাবেন। অন্যদিকে, জিএসি-তে ফাইল স্থাপন করা ভবিষ্যতের সমস্যার কারণও হতে পারে যেহেতু লোকেরা সেখানে কী রাখে তা ভুলে যায় এবং নতুন পরিবেশ স্থাপনের সময় তারা এই ফাইলগুলি অন্তর্ভুক্ত করতে ভুলে যায়। আর একটি সম্ভাব্য সমাধান হ'ল ফাইলগুলি তৃতীয় পক্ষের ডিএলএসের জন্য কেন্দ্রীয় ফোল্ডারে রেখে দেওয়া (যদিও সংস্থাপককে তৃতীয় পক্ষ বলা কল্পনা করা আশ্চর্যজনক নয়), যা নতুন পরিবেশ স্থাপনের সময় ভাঙা রেফারেন্সগুলির সমস্যা তৈরি করে। আপনি যদি জ্যাকটিতে dll ইনস্টল করার সিদ্ধান্ত নেন, সাবধানতা অবলম্বন করুন এবং মনে রাখবেন যে আপনি এটি করেছিলেন। যদি আপনি তা না করেন তবে প্রতিটি প্রকল্পের জন্য পুনরুক্তিটি ডাউনলোড করুন এবং এর দ্বারা সৃষ্ট সমস্ত বিরক্তিকর বাগগুলি সহ্য করুন (অবশেষে আমি যখন এটির অসুস্থ হয়ে পড়েছিলাম এবং তখন ফাইলগুলি জিএসি-তে রেখেছিলাম তখন অন্তত ব্যবহৃত হত)। উভয় পদ্ধতিরই আপনাকে মাথাব্যথা দেয় এবং সমস্যা তৈরি করতে পারে, আপনি কোন সমস্যার সাথে মোকাবিলা করতে পছন্দ করেন এটি কেবল একটি প্রশ্ন। মাইক্রোসফ্ট নুগেট সিস্টেমটি ব্যবহার করার পরামর্শ দেয়, এবং সাধারণত, এসও-তে কোনও অচেনা প্রোগ্রামার শোনার চেয়ে তাদের কথা শুনে নেওয়া ভাল, যদি না আপনি নুগেট সিস্টেমের সাথে পুরোপুরি অসুস্থ হয়ে থাকেন এবং জিএসি-র সাথে এটির আরও ভাল বিকল্প হিসাবে ব্যবহার করার জন্য যথেষ্ট সময় ব্যবহার না করেন তোমার জন্য. প্রতিটি প্রকল্পের পুনরায় নুগেটটি ডাউনলোড করুন এবং এর দ্বারা সৃষ্ট সমস্ত বিরক্তিকর বাগগুলি সহ্য করুন (অবশেষে আমি যখন এটির অসুস্থ হয়ে পড়েছিলাম এবং কেবল ফাইলগুলি জিএসি তে রেখেছিলাম তখন এটি ঘটতে পারে)। উভয় পদ্ধতিরই আপনাকে মাথাব্যথা দেয় এবং সমস্যা তৈরি করতে পারে, আপনি কোন সমস্যার সাথে মোকাবিলা করতে পছন্দ করেন এটি কেবল একটি প্রশ্ন। মাইক্রোসফ্ট নুগেট সিস্টেমটি ব্যবহার করার পরামর্শ দেয়, এবং সাধারণত, এসও-তে কোনও অচেনা প্রোগ্রামার শোনার চেয়ে তাদের কথা শুনে নেওয়া ভাল, যদি না আপনি নুগেট সিস্টেমের সাথে পুরোপুরি অসুস্থ হয়ে থাকেন এবং জিএসি-র সাথে এটির আরও ভাল বিকল্প হিসাবে ব্যবহার করার জন্য যথেষ্ট সময় ব্যবহার না করেন তোমার জন্য. প্রতিটি প্রকল্পের পুনরায় নুগেটটি ডাউনলোড করুন এবং এর দ্বারা সৃষ্ট সমস্ত বিরক্তিকর বাগগুলি সহ্য করুন (অবশেষে আমি যখন এটির অসুস্থ হয়ে পড়েছিলাম এবং কেবল ফাইলগুলি জিএসি তে রেখেছিলাম তখন এটি ঘটতে পারে)। উভয় পদ্ধতিরই আপনাকে মাথাব্যথা দেয় এবং সমস্যা তৈরি করতে পারে, আপনি কোন সমস্যার সাথে মোকাবিলা করতে পছন্দ করেন এটি কেবল একটি প্রশ্ন। মাইক্রোসফ্ট নুগেট সিস্টেমটি ব্যবহার করার পরামর্শ দেয়, এবং সাধারণত, এসও-তে কোনও অচেনা প্রোগ্রামার শোনার চেয়ে তাদের কথা শুনে নেওয়া ভাল, যদি না আপনি নুগেট সিস্টেমের সাথে পুরোপুরি অসুস্থ হয়ে থাকেন এবং জিএসি-র সাথে এটির আরও ভাল বিকল্প হিসাবে ব্যবহার করার জন্য যথেষ্ট সময় ব্যবহার না করেন তোমার জন্য.


40
এটি জিএসি তে থাকার কথা নয়। নুগেট পদ্ধতির পিছনের পুরো বিষয়টি হ'ল হোস্ট সিস্টেমে কোনও পরিবর্তন না করেই আপনার প্রকল্পের জন্য C # বা VB.NET এর একটি নির্দিষ্ট সংস্করণ ব্যবহার করা উচিত। এমএসএফটি-র ড্যামিয়ান এডওয়ার্ডস থেকে এই পোস্টটি দেখুন: ব্লগস.এমএসএনএন.মাইক্রোসফট
সুধাংশু মিশ্র

29
এই সমাবেশগুলি জিএসি, পিরিয়ডের অন্তর্গত নয়। এগুলিকে জিএসি তে রাখলে পরিণতিতে মাথা ব্যাথা দেখা দেয় যখন আপনার কোড বজায় রাখা দরকার এমন কোনও ব্যক্তি কেন ভুল সংকলক ব্যবহার করা হয় তা নির্ধারণ করতে পারে না।
EKW

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

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

2
জিএসি'এর নির্ভরতা হ'ল আমি কিছুক্ষণের মধ্যে দেখেছি esome
Svend

31

আপনার প্রকল্পে কেবল পরবর্তী নুগেট প্যাকেজ যুক্ত করুন - Microsoft.CodeDom.Providers.DotNetCompilerPlatform

একই সমস্যা ছিল।


কিছুটা সাবধান! এটি ওয়েবকনফাইগের মধ্যে 'সংকলক অপশনগুলি' ওভাররাইট করে, তাই ইনস্টল করার আগে আপনি কোনও কাস্টম মান সংরক্ষণ করেছেন তা নিশ্চিত করুন।
রাদ্দারজ

19

আমার অ্যাপ্লিকেশনটি Vs2013 এ কাজ করেছিল তবে আমার একই সমস্যা রয়েছে তবে Vs2015 এ আপডেট করার পরে ত্রুটি পেয়েছি।

  1. Vs2015 এ, নিউগেট প্যাকেজ ম্যানেজার খোলার জন্য প্রজেক্টের রেফারেন্স ফোল্ডারে ডান ক্লিক করুন
  2. ব্রাউজ ট্যাবের অধীনে, "ডটনেটকম্পিলারপ্ল্যাটফর্ম" অনুসন্ধান করুন এবং "মাইক্রোসফ্ট.কোডডম.প্রভাইডার্স.ডটনেটকম্পিলার প্ল্যাটফর্ম" লাইব ইনস্টল করুন

2
প্যাকেজ ম্যানেজার খোলার জন্য প্রকল্পের রেফারেন্স ফোল্ডারে ডানদিকে ক্লিক করার জন্য
টিপটির

3
প্রথমে এটি আনইনস্টল করার চেষ্টা করুন, তারপরে এটিকে আবার নুগেটে ইনস্টল করুন। এটা আমার জন্য কাজ করেছে।
ম্যাট

আপনি কিংবদন্তি
মো ডি আদিপুস্তক

16

আমি জানি এটি একটি পুরানো থ্রেড, তবে আমি ডটনেটকম্পিলার প্ল্যাটফর্ম.ডিল, এফ এর সম্ভাব্য সংস্করণ ইস্যুটি উল্লেখ করতে চাই। প্রাক্তন। একটি আপডেট পরে। দয়া করে পরীক্ষা করুন, নতুন উত্পন্ন ওয়েব.config ফাইলটি যদি আপনার প্রকাশিত ওয়েবকনফিগ হিসাবে আলাদা হয়, বিশেষত সিস্টেমডকোডম অংশ। আমার ক্ষেত্রে এটি সংস্করণটি 1.0.7 থেকে 1.0.8 এ পরিবর্তিত হয়েছিল। নতুন dll সার্ভারে ইতিমধ্যে অনুলিপি করা হয়েছিল, তবে আমি পুরানো ওয়েবকনফিগটি পরিবর্তন করি নি (কিছু সার্ভারের বিশেষ সেটিংস সহ):

<pre>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
</pre>

আমি দুটি লাইন আপডেট করার পরে, ত্রুটিটি অদৃশ্য হয়ে গেল।


1
আমি DotNetCompilerPlatform সংক্রান্ত সমস্যা রয়েছে যে একক সময় আমি এটা আপডেট করুন।
ল্যারিবুড

2
আপনি যদি সংস্করণ বৈশিষ্ট্যটি সরিয়ে ফেলেন তবে তা কাজ করবে এবং পরবর্তী আপডেটে ত্রুটিটিকে আবার উত্থাপন থেকে রোধ করবে।
মিগুয়েলস্লাভ

একই সমস্যা আমার ঠিক তখনই ছিল যা আমাকে আপডেট 2.0.0করতে হয়েছিল2.0.1
ররি ম্যাকক্রসন

12

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

এই উত্তরটি WebApi অ্যাপ্লিকেশনটির বিল্ড আউটপুট ডিরেক্টরি পরিবর্তন করার উপায় দেখায়। ঠিক একই ত্রুটিটি সেই পোস্টে প্রদর্শিত হওয়ার জন্য, আপনাকে ওয়েবকনফাইগের সম্পূর্ণ <system.codedom> বিভাগটি মন্তব্য করতে হবে। এবং তারপরে আপনি আউটপুটের পথটি পরিবর্তন করতে নির্দেশাবলী অনুসরণ করতে পারেন।

আপনি আপনার আবেদনকারীর কাজ পাওয়ার পরে আপনি <সিস্টেম কোড কোড> বিভাগটি অসন্তুষ্ট করতে পারেন। আপনি যদি আপনার অ্যাপ্লিকেশনটিতে সি # 6 টি নতুন সিনট্যাক্স ব্যবহার না করেন তবে আপনি মাইক্রোসফ্ট.কোডডম.প্রভাইডার্স.ডট নেট নেটকম্পিলার প্ল্যাটফর্মটি আপনার অ্যাপ্লিকেশন থেকে আনইনস্টল করতে পারেন; অন্যথায়, আপনি আপনার পোস্ট-বিল্ড ইভেন্টে নিম্নলিখিত কমান্ড লাইনটি যুক্ত করতে চাইতে পারেন,

xcopy /Q /Y "$(TargetDir)roslyn\*.*" "$(TargetDir)..\roslyn\"

নতুন কোডডম সরবরাহকারী সর্বদা \ বিনের "s রোজলিন" ফোল্ডারটি সন্ধান করে। উপরের কমান্ডটি একটি workaround হিসাবে কাজ করে এবং আপনার নতুন আউটপুট ফোল্ডার থেকে \ রসলিন ফোল্ডারটি অনুলিপি করে।

আমার পরীক্ষাগুলিতে ভিজ্যুয়াল স্টুডিওর প্রকাশের সরঞ্জামটি আমার আউটপুট পাথের বিন্যাস নির্বিশেষে স্থাপনার স্থানে location বিন ফোল্ডারে আউটপুট অ্যাসেম্বলিসগুলি প্রকাশ করে। আমার ধারণা আপনার আবেদনটি এখনও বাস্তব স্থাপনার কাজ করে।


10

সহজ উপায় - প্রকল্প> নিউগেট প্যাকেজগুলি পরিচালনা করুন ...> অনুসন্ধান ইনপুটগুলিতে ব্রাউজ (ট্যাব)> এটি সেট করুন: মাইক্রোসফ্ট.কোডডম.প্রভাইডার্স.ডটনেটকম্পিলার প্ল্যাটফর্ম

আপনি এই সংকলকটি ইনস্টল বা আপডেট বা আনইনস্টল এবং ইনস্টল করতে পারেন

DotNetCompilerPlatform


8

আর একটি সম্ভাব্য সমাধান:

এর সাথে আপনার ভিজ্যুয়াল স্টুডিও ইনস্ট্যান্সটি পুনরায় চালু করুন প্রশাসকের অধিকারগুলির

এখানে চিত্র বর্ণনা লিখুন


4

এটি প্রোডাকশন সার্ভারে প্রকাশের পরে বন্ধ হয়ে যায়। এটি আমাকে এই ত্রুটিটি দেখানোর কারণ হ'ল এটি একটি সাব ফোল্ডারে স্থাপন করা হয়েছিল । আইআইএস-এ আমি সাবফোল্ডারে ডানদিকে ক্লিক করেছি এবং "অ্যাপ্লিকেশনকে রূপান্তর করুন" তে উত্সাহিত করেছি এবং এটির পরে এটি কাজ করে।


কনভার্ট টু অ্যাপ্লিকেশন যা আমার প্রয়োজন ছিল। (এটি একটি নতুন প্রকল্প যা আগে প্রকাশিত হয়নি))
প্যাট্রিক

সাবফোল্ডার ব্যবহার করাও আমার সমস্যা ছিল, তাই আমি বেস ফোল্ডারে চলে গেলাম এবং জিনিসগুলি কাজ শুরু করে।
জেএল

4

আমার ক্ষেত্রে, আমি যখন অ্যাপ্লিকেশন ফোল্ডারের অনুমতি এবং আইআইএস_আইইউএসআরএস অ্যাকাউন্টটি সরানো হয়েছে তখন এটি ঘটেছিল। আমি পুনরায় যুক্ত করার পরে আইআইএস_আইইউএসআরএস (আইআইএস ম্যানেজার-> আপনার ওয়েল অ্যাপ -> অনুমতি সম্পাদনা করুন -> আইআইএস_আইইউএসআরএস যোগ করুন) অ্যাপ্লিকেশন ফোল্ডারে এবং এর কাজ করে।


আমি আইইউএসআর অনুমতি যুক্ত করেছি, তবে এটি পর্যাপ্ত ছিল না। আমাকে "IIS_IUSRS" যুক্ত করতে হয়েছিল এবং তারপরে এটি কার্যকর হয়েছিল worked
জ্যাকারিডল

3

আমি কীভাবে এটি সমাধান করেছি তা এখানে:

  1. মুছে ফেলা হয়েছে binপ্রকল্প ডিরেক্টরিতে ফোল্ডারটি ।
  2. ক্লিক করুন Build Solution। ইন VS2017 (প্রশাসন হিসাবে চালানো)> বিল্ড> সলিউশন বিল্ড


2

সমাধানটিতে আমার বেশ কয়েকটি প্রকল্প ছিল এবং ওয়েব প্রকল্প (এই ত্রুটিটি দেওয়ার ক্ষেত্রে সমস্যা) স্টার্টআপ প্রকল্প হিসাবে সেট করা হয়নি। আমি এই ওয়েব প্রকল্পটিকে স্টার্টআপ প্রকল্প হিসাবে সেট করেছি এবং মেনু আইটেম "ডিবাগ" -> "ডিবাগিং শুরু করুন" এ ক্লিক করেছি এবং এটি কার্যকর হয়েছে। আমি ডিবাগিং বন্ধ করে দিয়ে আবার চেষ্টা করেছি এবং এখন এটি আবার কাজ করছে। রহস্যময়।


2

তারপরে সমস্যাটি আবার ফিরে এল। আমি উভয় আনইনস্টল Microsoft.CodeDom.Providers.DotNetCompilerPlatformএবং Uninstall-package Microsoft.Net.Compilersকিন্তু কোন সহায়তা। তারপরে ইনস্টল - কোনও সহায়তা নেই। প্রকল্পটি পরিষ্কার করা হয়েছে এবং কোনও সহায়তা তৈরি করা হয়নি। সার্ভারটি কোনও সহায়তা নেই hen তখন আমি লক্ষ্য করেছি যে প্রকল্পটির সর্বশেষতম প্রয়োজন নেই যা বর্তমানে 1.0.5 কিন্তু 1.0.3 রয়েছে কারণ ত্রুটিটি ছিল 1.0.3 সংস্করণটি লোড করা যায়নি। সুতরাং আমি পরিবর্তে যে dll সংস্করণ ইনস্টল এবং এখন এটি কাজ করে।


1

bin/debugঅন্যান্য ধরণের অ্যাপ্লিকেশন যেমন সমাবেশ করে তবে এএসপি ডট নেট বা বিনের অধীনে কোনও সাবফোল্ডার অনুসন্ধান করে না f আপনি নিম্নলিখিত কনফিগারেশন ব্যবহার করে রানটাইমকে অন্য কোনও জায়গায় দেখার নির্দেশ দিতে পারেন:

<configuration>
   <runtime>   
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin\Debug;bin\Release"/>
      </assemblyBinding>
   </runtime>   
</configuration>

1

আপনার প্রকল্পে "মাইক্রোসফ্ট.কোডডম.প্রভাইডার্স.ডটনেটকম্পিলার প্ল্যাটফর্ম" এবং "মাইক্রোসফ্ট. নেট.কম্পিলার" প্যাকেজগুলি আপডেট করা উচিত।


1

আমার ক্ষেত্রে, আমি যখন আমার ওয়েব অ্যাপ্লিকেশনটি ৪.৪.২ এবং রেফারেন্সড ক্লাস লিবারিগুলি 4.6.1 এ পেয়েছি তখন আমি ত্রুটি পেয়েছি got যখন আমি ওয়েব অ্যাপ্লিকেশনটি 4.5.2 সংস্করণে আপডেট করি ত্রুটিটি চলে যায়।


Mb.২.২ (ডিফল্ট ভিএস 2017) এর পরিবর্তে নেট সংস্করণ (প্রয়োজনীয় 4.7.2) -র জন্য উম্ব্রাকো 8 ইনস্টল করার সময় একই ত্রুটি পেয়েছি
বুঙ্কারবাস্টার

1

আমি এই ত্রুটিটি পেয়েছিলাম কারণ আমার অ্যাপ্লিকেশন পুল ব্যবহারকারী অ্যাপ্লিকেশনপুল আইডেন্টিটিতে সেট করা হয়েছিল। আমি এটিকে এমন কোনও ব্যবহারকারী / পরিষেবা অ্যাকাউন্টে পরিবর্তন করেছি যা ফোল্ডারে অ্যাক্সেস পেয়েছে এবং ত্রুটিটি চলে গেছে।


1

এখানে আমার অনুসন্ধান আছে। আজকের সকালে আমিও এই সমস্যার মুখোমুখি হয়েছি। আমি মাত্র আমার বর্তমান ব্যবহারকারীকে অ্যাপ্লিকেশন পুলে যুক্ত করেছি যার উপরে অ্যাপ্লিকেশন চলছে running

পদক্ষেপ:

  1. আইআইএস খুলুন

  2. অ্যাপ্লিকেশন পুলে ক্লিক করুন

  3. আপনার অ্যাপ্লিকেশন পুলটি নির্বাচন করুন যার উপরে আপনি সমস্যা বোধ করছেন

  4. ডান ক্লিক করুন -> উন্নত সেটিংস

  5. পরিচয়ের পাশে তিনটি ডট আইকনে ক্লিক করুন

  6. এখন কাস্টম অ্যাকাউন্ট নির্বাচন করুন

  7. আপনার পিসি ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিন

  8. সংরক্ষণ

আপনার অ্যাপ্লিকেশন রিফ্রেশ .. এবং এটি কাজ শুরু হবে। Dll অ্যাক্সেসের জন্য কিছু সুরক্ষা সমস্যা ছিল।


1

কেবল নীচের কমান্ড থেকে প্যাকেজ ম্যানেজার কনসোল থেকে প্যাকেজ আনইনস্টল করুন

প্রধানমন্ত্রী> আনইনস্টল-প্যাকেজ মাইক্রোসফ্ট.কডডম.প্রভাইডার্স.ডটনেটকম্পিলার প্ল্যাটফর্ম

প্রধানমন্ত্রী> আনইনস্টল করুন-প্যাকেজ মাইক্রোসফট. নেট.কম্পেলার্স

এবং তারপরে এটি আবার নুগেট ম্যানেজার থেকে ইনস্টল করুন এখানে চিত্র বর্ণনা লিখুন


1

আপনি যদি সম্প্রতি Microsoft.CodeDom.Providers.DotNetCompilerPlatformপ্যাকেজটি ইনস্টল বা আপডেট করেছেন তবে আপনার প্রকল্পে উল্লিখিত প্যাকেজের সংস্করণগুলি সেই প্যাকেজের সঠিক এবং একই সংস্করণে ডাবল পরীক্ষা করে দেখুন:

  • ইন ProjectName.csproj, নিশ্চিত হয়ে নিন যে এর জন্য কোনও <Import>ট্যাগ Microsoft.CodeDom.Providers.DotNetCompilerPlatformউপস্থিত রয়েছে এবং সঠিক সংস্করণটির দিকে নির্দেশ করছে।

  • ইন ProjectName.csproj, নিশ্চিত করুন যে একটি <Reference>জন্য ট্যাগের Microsoft.CodeDom.Providers.DotNetCompilerPlatform, সঠিক সংস্করণে উপস্থিত থাকলে, এবং উভয় পয়েন্ট Includeঅ্যাট্রিবিউট ও শিশু <HintPath>

  • প্রকল্পের ক্ষেত্রে web.config, নিশ্চিত হয়ে নিন যে <system.codedom>ট্যাগটি উপস্থিত রয়েছে এবং তার চাইল্ড <compiler>ট্যাগগুলির typeবৈশিষ্ট্যে একই সংস্করণ রয়েছে ।

কিছু কারণে, আমার ক্ষেত্রে এই প্যাকেজটি 1.0.5 থেকে 1.0.8 এ আপগ্রেড করার ফলে <Reference>ট্যাগটি পুরানো সংস্করণ 1.0 .csprojএর Includeদিকে নির্দেশ করেছে । 5 .0 (যা আমি প্যাকেজ আপগ্রেড করার পরে মুছে ফেলেছিলাম), তবে অন্য সমস্ত কিছুই নতুন এবং সঠিক সংস্করণ 1.0 এর দিকে ইঙ্গিত করেছিল। 8 .0।


1

আপনার প্রকল্পটি সম্পূর্ণরূপে নির্মিত হয়েছে তা নিশ্চিত করুন!

'আউটপুট' ট্যাবে ক্লিক করুন এবং নিশ্চিত করুন যে আপনার মতো কিছু নেই:

========== সমস্ত পুনর্নির্মাণ: 14 সফল হয়েছে, 1 ব্যর্থ হয়েছে, 0 এড়িয়ে গেছে =========

এবং আপনার binফোল্ডারটি খুলুন এবং এটি আপডেট হয়েছে কিনা তা পরীক্ষা করে দেখুন।

আমার সম্পূর্ণ টাইপস্ক্রিপ্ট ত্রুটি ছিল যা আমি প্রথমে উপেক্ষা করে ভুলে গিয়েছিলাম যে তারা বিল্ডটি ভেঙে চলেছে এবং সেখানে কোনও ডিএলএল অনুলিপি করা হয়নি।



1

আমার ক্ষেত্রে আমার ওয়েব প্রকল্পটি সঠিকভাবে লোড করা হয়নি (এটি প্রকল্পটি উপলভ্য ছিল না) তখন অ্যাডমিন মোডে আমার ভিজ্যুয়াল স্টুডিওটি খোলার পরে আমার ওয়েব প্রকল্পটি পুনরায় লোড করতে হয়েছিল তখন সবকিছু ঠিকঠাক কাজ করেছিল।


0

আমার ঠিক একই সমস্যা ছিল এবং এটি হ'ল কারণ আমি প্রকল্পের স্থানটি সরিয়েছি এবং কেবল ভার্চুয়াল ডিরেক্টরিটি পুনরায় তৈরি করা দরকার।


0

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

এটি ঠিক করার জন্য আমরা প্রকল্প ফাইলটিকে কিছু এমন করার জন্য সংশোধন করেছি

এটি এখানে কোনও প্যাকেজকে সরাসরি পরিবেশের ভেরিয়েবলগুলি উল্লেখ করে না।

এটি সমস্যার সমাধান করেছে, তবে আমাদের ক্ষেত্রে আমরা "প্যাকেজকনফিগ" থেকে সরাসরি প্যাকেজগুলি ব্যবহার করি না তার পরিবর্তে দলগুলির মধ্যে সংস্করণের অখণ্ডতা বজায় রাখতে আমাদের আলাদা ফোল্ডার রয়েছে।


0

সূচনা কমান্ড থেকে inetmgr এ যান আইআইএস ম্যানেজার কনসোলে ডিফল্ট ওয়েব সাইটের অধীনে অ্যাপ্লিকেশন ফোল্ডারটি চয়ন করুন সেই ফোল্ডারে ডান ক্লিক করুন তারপরে অ্যাপ্লিকেশনে রূপান্তর করুন সক্ষম করে এএসএমএক্স ফাইলটি চালান এটি সমস্যার সমাধান করে


0

BINফোল্ডারটি পুরোপুরি আপলোড হয়েছে কিনা বা ফাইলগুলিতে নিখোঁজ রয়েছে কিনা তা পরীক্ষা করুন ।


আমিও একই ইস্যুটির মুখোমুখি, এএসপনেটে বেশ নতুন
প্রশান্ত পিম্পলে

0

এই ত্রুটিটি সম্পর্কে আমি চেষ্টা করেছি:

  • প্রকল্পটি পরিষ্কার এবং পুনর্নির্মাণ
  • প্রকল্পটি আনলোড এবং পুনরায় লোড করা হচ্ছে
  • লক্ষ্য ফ্রেমওয়ার্ক পরিবর্তন করা ifying
  • আউটপুট পাথ পরিবর্তন করা
  • জিএসি-তে নগদ যুক্ত করা হচ্ছে
  • প্যাকেজগুলি মোছা হচ্ছে uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform uninstall-package Microsoft.Net.Compilersএবং সেগুলি আবার ইনস্টল করা হচ্ছে।

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

আমার ক্ষেত্রে, আমি সম্প্রতি মাইক্রোসফ্ট অফিস পুনরায় ইনস্টল করেছিলাম এবং মাইক্রোসফ্ট.অফিস.কোড়ের মতো সম্মেলনগুলি উল্লেখ করছি। নতুন ইনস্টলটিতে প্রয়োজনীয় প্যাকেজগুলি অন্তর্ভুক্ত বলে মনে হচ্ছে না, যা এটি তৈরি করেছে যাতে আমার সমাধানটি সঠিকভাবে তৈরি করতে পারে না।

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

ভিজ্যুয়াল স্টুডিওর অস্পষ্ট ত্রুটির বার্তার মতো মনে হচ্ছে।


0

আপনি যদি কোনও প্রকল্পে কাজ করে থাকেন এবং এটি এখন একটি ত্রুটি হিসাবে পপ আপ হয়। আপনার কম্পিউটারটি (বা আমার ক্ষেত্রে সার্ভার) রিবুট করুন এটি আমার জন্য সমস্যাটি স্থির করে।

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