একাধিক প্রকার পাওয়া গেছে যা 'হোম' নামের কন্ট্রোলারের সাথে মেলে


318

আমার কাছে বর্তমানে দুটি অপ্রাসঙ্গিক এমভিসি 3 প্রকল্প অনলাইনে হোস্ট করা আছে।

একটি ভাল কাজ করে, অন্যটি কাজ করে না, আমাকে ত্রুটি দেয়:

একাধিক প্রকার পাওয়া গেছে যা 'হোম' নামের কন্ট্রোলারের সাথে মেলে। এই অনুরোধটি ('{নিয়ামক} / {ক্রিয়াকলাপ} / {id}') যে রাস্তাটি অনুরোধটির সাথে মেলে এমন কোনও নিয়ামকের সন্ধানের জন্য নামের স্থান নির্দিষ্ট না করে তবে এটি ঘটতে পারে।

যদি এটি হয় তবে 'নেপস্পেস' প্যারামিটার গ্রহণকারী 'মানচিত্র' পদ্ধতির একটি ওভারলোডকে কল করে এই রুটটি নিবন্ধ করুন।

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

ftpFolderA2 / foo.com

ftpFolderA2 / bar.com

foo.com ভাল কাজ করে, আমি আমার স্থানীয় ফাইল সিস্টেমে আমার অ্যাপ্লিকেশনটি প্রকাশ করি তারপরে বিষয়বস্তু এফটিপি এবং এটি কার্যকর হয় works

আমি যখন আপলোড করি এবং বার ডট কম চালানোর চেষ্টা করি, তখন বিষয়টি উপরে উঠে আসে এবং আমাকে আমার সাইট ব্যবহার করতে বাধা দেয়। সকল সময় foo.com এখনও কাজ করে

বার ডট কম কি কন্ট্রোলারদের থেকে ftpFolderA2 এর ভিতরে সবসময় অনুসন্ধান করছে এবং সে কারণেই এটি অন্যটি খুঁজে পাচ্ছে HomeController? আমি কীভাবে এটি কেবল কন্ট্রোলার ফোল্ডারে দেখতে হবে তা দেখতে বলতে পারি?

তথ্য:

  1. অঞ্চল ব্যবহার করছেন না। এগুলি দুটি সম্পূর্ণ সম্পর্কযুক্ত প্রকল্প projects আমি প্রতিটি প্রকাশিত প্রকল্প প্রতিটি স্বতন্ত্র ফোল্ডারে রাখি। অভিনব কিছু না।
  2. প্রতিটি প্রকল্পের জন্য কেবল 1 হোম কন্ট্রোলার রয়েছে।

কেউ কি সমস্যাটি নিশ্চিত করতে পারবেন?


খুব অস্পষ্ট প্রশ্ন। আপনি অঞ্চল ব্যবহার করছেন? সমস্যা কি স্থানীয়ভাবে ঘটে?
ডারিন দিমিত্রভ

1
@ ডারিন: তথ্যটি সম্পাদনা করেছেন
কেবলমাত্র বলিভিয়ান এখানে

উত্তর:


473

এই অঞ্চল ত্রুটি বার্তাটি প্রায়শই ঘটে যখন আপনি অঞ্চল ব্যবহার করেন এবং অঞ্চল এবং মূলের ভিতরে আপনার একই নিয়ামকের নাম থাকে। উদাহরণস্বরূপ আপনার দুটি আছে:

  • ~/Controllers/HomeController.cs
  • ~/Areas/Admin/Controllers/HomeController.cs

এই সমস্যাটি সমাধান করার জন্য (যেমন ত্রুটি বার্তাটি আপনাকে পরামর্শ দেয়), আপনি নিজের রুটগুলি ঘোষণার সময় নেমস্পেস ব্যবহার করতে পারেন। সুতরাং প্রধান রুটের সংজ্ঞাটিতে Global.asax:

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new[] { "AppName.Controllers" }
);

এবং আপনার ~/Areas/Admin/AdminAreaRegistration.cs:

context.MapRoute(
    "Admin_default",
    "Admin/{controller}/{action}/{id}",
    new { action = "Index", id = UrlParameter.Optional },
    new[] { "AppName.Areas.Admin.Controllers" }
);

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


আমি অঞ্চলগুলি মোটেই ব্যবহার করছি না। এফটিপি রুট ফোল্ডারের অভ্যন্তরে পৃথক ফোল্ডারে থাকা দুটি সম্পূর্ণ সম্পর্কিত নয় এমন অ্যাপ্লিকেশন। হয়তো আমার অ্যাপ্লিকেশন এমভিসি নিয়ন্ত্রকদের সন্ধান করছে যেখানেই তা পারে এবং অন্য হোম কন্ট্রোলারের কাছে প্রসারিত হওয়ার ক্ষেত্রে এটি পৌঁছায়। আমি এটি অন্য কোথাও না দেখার জন্য কীভাবে বলতে পারি তবে এটির নিজস্ব কন্ট্রোলার ফোল্ডার রয়েছে এবং বাকী অংশগুলি উপেক্ষা করুন?
শুধুমাত্র বলিভিয়ান এখানে

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

13
ধন্যবাদ। এএসপি এমভিসি ৪.০ এ আপনাকে নেমস্পেসের মতো নাম যুক্তি পাস করতে হবে: নতুন [] {"অ্যাপনাম.আরিয়াস.এডমিন.কন্ট্রোলারস"
om

1
+1 - ভাল কাজ করে। আমি বুঝতে পারিনি যে অঞ্চলগুলিতে রুট রেজিস্ট্রেশনের জন্য আলাদা একটি অঞ্চল আছে। আমি যেখানেই দেখছি সেখানে ডারিনের কাছ থেকে কোনও মানের উত্তর আছে বলে মনে হচ্ছে :)
ট্র্যাভিস জে

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

528

এখানে অন্য একটি পরিস্থিতি রয়েছে যেখানে আপনি এই ত্রুটির মুখোমুখি হতে পারেন। যদি আপনি আপনার প্রকল্পটির নাম পরিবর্তন করেন যাতে সমাবেশের ফাইলের নাম পরিবর্তন হয় তবে আপনার পক্ষে আপনার এএসপি.এনইটি সমাবেশের দুটি সংস্করণ থাকা সম্ভব যা এই ত্রুটিটি পুনরুত্পাদন করবে।

সমাধানটি হ'ল আপনার binফোল্ডারে যান এবং পুরাতন dlls মুছুন। (আমি "পুনর্নির্মাণ প্রকল্প" চেষ্টা করেছি, কিন্তু এটি তাদের মুছে ফেলেনি, সুতরাং binতারা চলে গেছে কিনা তা নিশ্চিত করার জন্য নিশ্চিত হন )


1
এই ত্রুটিটির অন্য প্রকারতা হ'ল আপনি যখন পুনঃ ভাগ করুন এবং আপনি কিছু "অটো" রিফ্যাক্টর বিকল্প ব্যবহার করেন যার মধ্যে নাম স্থান পরিবর্তন করা অন্তর্ভুক্ত থাকে। এটাই আমার ঘটেছিল।
সেবাস্তিয়ান 506563

5
যদি আপনি এটি একটি অ্যাজুর অ্যাপ পরিষেবা থেকে পেয়ে থাকেন তবে লগ ইন করতে এবং ফাইলগুলি মুছতে https: // <your_app_name_here> .scm.azurewebsites.net / DebugConsole এ যান।
টম ব্লডজেট

5
আমার জন্য এই সমস্যা ছিল। আমি একটি বিদ্যমান প্রকল্পটিকে একটি নতুন ফোল্ডারে কপি / পেস্ট করে একটি "নতুন" প্রকল্প তৈরি করেছি; পুরানো বিল্ড ডলস নিয়ে এসেছিল, বিন ফোল্ডার মুছে ফেলা এটি পরিষ্কার করে দিয়েছে
17'4

আমার প্রকল্পের ফাইলগুলিকে দ্বিতীয় ড্রাইভে নিয়ে যাওয়ার সময় আমি এটি পেয়েছি। বিন ফোল্ডারটি সাফ করা এটি সমাধান করে। অদ্ভুত ভয়ঙ্কর জিনিস।
রবার্তো বনিনি

ওয়েল এটি একটি খুব সাধারণ ফিক্স সঙ্গে একটি বেদনাদায়ক বিরক্তিকর ত্রুটি ছিল। ধন্যবাদ!
ট্রয় গ্রসফিল্ড

63

এমভিসি 4 এবং এমভিসি 5 এ এটি কিছুটা আলাদা, নিম্নলিখিত ব্যবহার করুন

/App_Start/RouteConfig.cs

namespace MyNamespace
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces:  new[] {"MyNamespace.Controllers"}
            );
        }
    }
}

এবং অঞ্চলে

context.MapRoute(
                "Admin_default",
                "Admin/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional },
                new[] { "MyNamespace.Areas.Admin.Controllers" }
            );

সহায়তার জন্য ধন্যবাদ, এটি আমার পক্ষে কাজ করছে।
অভয়.প্যাটিল

39

এটি দেখুন ... http://www.asp.net/mvc/videos/mvc-2/how-do-i/aspnet-mvc-2-areas

তারপরে এই ছবিটি (আশা করি আপনি আমার আঁকাগুলি পছন্দ করেন)

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


বিষয়টি সমাধান করেছেন ..! :)
অরুণা

1
@ পিপমকিন একটি অন্ধ প্রোগ্রামারকে এটি বলুন। পাঠ্যটি স্ক্রিন পাঠকদের দ্বারা পঠিত হতে পারে
কার্লোস মুউজ

হাই কার্লোস হ্যাঁ আমি পরিস্থিতি বুঝতে পারি। দৃশ্যমান অক্ষমতা ব্যতীত লোকেদের এটি ব্যাখ্যা করা ইতিমধ্যে শক্ত। আমি নিশ্চিত নই যে কোনও ধরণের সহায়ক সফ্টওয়্যার ছবিতে কী চলছে তা কোনওরকমের শরীরে বর্ণনা করতে সক্ষম হবে। এটি মনোযোগ এনেছে যে উত্তরে সম্ভবত কমপক্ষে কী চলছে তা বর্ণনা করার চেষ্টা করার সাথে পাঠ্য থাকা উচিত।
পাইওটার কুলা

32

অন্যরা কি বলেন সঠিক কিন্তু যারা এখনও একই সমস্যার সম্মুখীন জন্য:
কারণ আমি অপর একটি প্রকল্প কপি আমার ক্ষেত্রে এটা ঘটেছে এন অন্য কিছু তা নতুন নামকরণ কিন্তু আগের আউটপুট ফাইল binফোল্ডারের এখনও সেখানে ছিল ... এবং দুর্ভাগ্যবশত, আঘাত Build -> Clean Solutionপুনঃনামকরনের পর প্রকল্প এবং এটি তাদের Namespaces সরিয়ে দেয় না ... সুতরাং তাদের মুছে ফেলা আমার সমস্যা সমাধান করে!


2
আপনার পরামর্শ আমাকে বাঁচিয়েছে
অভিমন্যু

1
আমিও, ধন্যবাদ, ক্লিন ডোন্টের অর্থ আসলে পরিষ্কার, গ্রার
কাটিবারের

1
আপনাকে ধন্যবাদ @ ডিআরটিজে এটি হতাশাজনক ছিল! আপনি ডাং পরিষ্কার প্রক্রিয়াটি কাজ করার প্রত্যাশা করেন এবং প্রত্যাশা ব্যর্থতার মূল root এটি আমার চুল আরও টানতে বাঁচায়!
মাইকে

28

আপনার প্রকল্পে bin/ ফোল্ডারে

আপনার শুধুমাত্র আপনার আছে তা নিশ্চিত করুন PROJECT_PACKAGENAME.DLL রয়েছে

এবং ANOTHER_PROJECT_PACKAGENAME.DLL সরান

এটি ভুল করে এখানে উপস্থিত হতে পারে বা আপনি কেবল আপনার প্রকল্পটির নাম পরিবর্তন করতে পারেন


2
ঠিক আমার সমস্যা। ধন্যবাদ.
ডেটিলিয়াম

আমার জন্য কাজ! thnks!
আইয়াল

আমি অ্যাসেমব্লির নাম পরিবর্তন করেছিলাম এবং কিছু পুরানো ঝুলিতে বসে ছিলাম। ধন্যবাদ
এপিসি

ধন্যবাদ! আমি বিশ্বাস করতে পারি না আমি এত সাধারণ কিছু মিস করেছি।
ভ্যাশ

25

যদি অন্য কোনও dll ফাইল থাকে যা হোমকন্ট্রোলার ক্লাসে দ্বন্দ্ব সৃষ্টি করতে পারে তবে বিন ফোল্ডারটি পরীক্ষা করুন ।


7
এই প্রকল্পটি অনুলিপি করে পুনরায় নামকরণ করার সময় আমাকে বিট করুন ... dll নামের পুরানো প্রকল্পটি এখনও বাকিনে ছিল, একটি ক্লিনআপ এটিকে সরাতে পারেনি ... আমাকে নিজে এটি মুছতে হয়েছিল!
পল জহরা

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

14

আর একটি সমাধান হ'ল কন্ট্রোলার বিল্ডারের সাথে একটি ডিফল্ট নেমস্পেস নিবন্ধন করা। যেহেতু আমাদের প্রচলিত অ্যাপ্লিকেশনটিতে প্রচুর রুট ছিল এবং আমাদের অঞ্চলে কেবল একটি জেনেরিক রুট ছিল (যেখানে আমরা ইতিমধ্যে একটি নাম স্থান নির্দিষ্ট করেছিলাম), আমরা এটি সবচেয়ে সহজ সমাধান হিসাবে পেয়েছি:

ControllerBuilder.Current
     .DefaultNamespaces.Add("YourApp.Controllers");

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

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

7

যদিও আপনি অঞ্চলগুলি ব্যবহার করছেন না, আপনি এখনও নিজের রুটম্যাপে নির্দিষ্ট করতে পারবেন কোন নামের স্থানটি ব্যবহার করতে হবে

routes.MapRoute(
    "Default",
    "{controller}/{action}",
    new { controller = "Home", action = "Index" },
    new[] { "NameSpace.OfYour.Controllers" }
);

তবে মনে হচ্ছে আসল সমস্যাটি হ'ল আইআইএস-এ আপনার দুটি অ্যাপ্লিকেশন সেট আপ করা আছে


7

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


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

1
আমি আমার প্রকল্পের নাম পরিবর্তন করেছি এবং আমি সমস্ত ফাইলগুলি প্রত্যাখ্যান করি তবে আমি এই ত্রুটিটি পেয়েছি। বিন ফোল্ডারটি মুছে ফেলা আমার পক্ষেও কাজ করেছিল।
মুরো ভালভানো

6

এমনকি অঞ্চলগুলির ক্ষেত্রে অন্য ক্ষেত্রেও থাকতে পারে এমনকি আপনি অঞ্চলগুলির রাউটিংয়ের সমস্ত পদক্ষেপগুলি অনুসরণ করেছেন (যেমন গ্লোবাল রাউটিং টেবিলের নামস্থান দেওয়ার মতো), যা হ'ল:

আপনি রাউটিংয়ে সরবরাহ করেছেন এমন 'নেমস্পেসে' আপনার গ্লোবাল কন্ট্রোলারকে মোড়ানো নাও থাকতে পারে।

উদাহরণ:

সম্পন্ন:

public class HomeController : Controller
{

পরিবর্তে:

namespace GivenNamespace.Controllers
{
   public class HomeController : Controller
   {

হ্যাঁ, কেবলমাত্র MapRoute- এ একটি নেমস্পেস সরবরাহ করা যথেষ্ট নয়। এখানে প্রদত্ত নেমস্পেসে নিয়ামক শ্রেণীর নামস্থানের সাথে মিল থাকা দরকার Now এখন এটি কাজ করে!
ডানকোডি

6

আপনি যদি নিজের নিজস্ব অ্যাসেমব্লিকে ডিফল্ট অ্যাসেমব্লিশেস রিসলভারের গেটঅ্যাসেমব্লিজগুলি ওভাররাইড করে যোগ করেন এবং এটি ইতিমধ্যে বেস থেকে অ্যারেতে থাকে তবে আপনি 500 ত্রুটি পেতে পারেন et

বিন্দু ক্ষেত্রে:

public class MyAssembliesResolver : DefaultAssembliesResolver
{
    public override ICollection<Assembly> GetAssemblies()
    {
        var baseAssemblies = base.GetAssemblies();

        var assemblies = new List<Assembly>(baseAssemblies);

        assemblies.Add(Assembly.GetAssembly(typeof(MyAssembliesResolver)));

        return new List<Assembly>(assemblies);
    }
}

যদি উপরের কোডটি আপনার নিয়ামকের মতো একই সমাবেশে থাকে তবে সেই সমাবেশটি দু'বারের তালিকায় থাকবে এবং 500 টি ত্রুটি তৈরি করবে যেহেতু ওয়েব এপিআই কোনটি ব্যবহার করবে তা জানে না।


6

আপনি যদি এটি স্বয়ংক্রিয়ভাবে সমাধান করতে চান .. আপনি অবশ্যই অ্যাপ্লিকেশনটি নিম্নোক্ত কোডটি যুক্ত করতে পারেন:

 routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
            namespaces: new[] { string.Format("{0}.Controllers", BuildManager.GetGlobalAsaxType().BaseType.Assembly.GetName().Name) }
        );

1
দুর্দান্ত সমাধান যদি আপনার একাধিক প্রকল্পে একই নিয়ন্ত্রক থাকে
রবি আনন্দ

4

একই সমস্যা পেয়েছি এবং কিছুই সাহায্য করেনি। সমস্যাটি হ'ল আমার কাছে আসলে কোনও সদৃশ নেই, প্রজেক্টের নেমস্পেস থেকে স্যুইচ করার পরে এই ত্রুটিটি উপস্থিত MyCuteProjectহয়MyCuteProject.Web

শেষ পর্যন্ত আমি বুঝতে পারি যে ত্রুটির উত্সটি একটি global.asaxফাইল - এক্সএমএল মার্কআপ, .csকোডেহাইড নয় । এতে নামের স্থানটি পরীক্ষা করুন - এটি আমাকে সাহায্য করেছে।


2

আমি সবে সার্ভার থেকে 'বিন' ফোল্ডারটি মুছে ফেলেছি এবং আমার বিনটি সার্ভারে অনুলিপি করেছি, এবং আমার সমস্যা সমাধান হয়েছে।


2

Route.config এ

নেমস্পেসস: নতুন [] App "অ্যাপ্লিকেশন। নিয়ন্ত্রণকারী"}


1

আমরা দেখতে পেলাম যে আমাদের বিল্ডে যখন বিরোধ ছিল যা একটি সতর্কতা হিসাবে দেখানো হয়েছিল তখন আমরা এই ত্রুটিটি পেয়েছি।

আমরা ভিজ্যুয়াল স্টুডিও -> সরঞ্জাম -> বিকল্পগুলি -> প্রকল্পগুলি এবং সমাধানগুলি -> বিল্ড এবং রান করুন -> এমএসবাইল্ড প্রকল্পটি আউটপুট ভার্বোসিটি বিশদ তৈরি করার আগে আমরা বিশদটি পাইনি।

আমাদের প্রকল্পটি একটি নেট নেট 4 ওয়েব অ্যাপ্লিকেশন এবং সিস্টেম.নেট.এইচটিপি (v2.0.0.0) এবং সিস্টেম.নেট.এইচটিপি (v4.0.0.0) এর মধ্যে একটি বিরোধ ছিল। আমাদের প্রকল্পটি একটি প্যাকেজ থেকে ফাইলের ভি 2 সংস্করণ রেফারেন্স করেছে (নুগেট ব্যবহার করে অন্তর্ভুক্ত)। যখন আমরা রেফারেন্সটি সরিয়ে নিয়েছি এবং ভি 4 সংস্করণে একটি রেফারেন্স যুক্ত করেছি তখন বিল্ডটি কাজ করেছিল (সতর্কতা ছাড়াই) এবং ত্রুটিটি স্থির হয়েছিল।


1

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


আমি যখন অন্য প্রকল্পের বিষয়বস্তুতে 1 প্রকল্পের বিষয়বস্তুগুলিতে অনুলিপি করেছিলাম তখন আমার সাথে এটি ঘটেছিল। আমাকে বিন ফোল্ডার থেকে নির্দিষ্ট ফাইলগুলি মুছতে হয়েছিল
অ্যাড্রিয়ান দাভেল

1

প্রকল্পটিতে ডান ক্লিক করুন এবং প্রকল্পটি পরিষ্কার করুন। অথবা অন্যথায় বিন ডিরেক্টরিটি পুরোপুরি খালি করুন এবং তারপরে পুনরায় বিল্ড করুন। এটি পূর্ববর্তী বিল্ডগুলি থেকে যে কোনও বাম ওভার অ্যাসেমব্লিগুলি পরিষ্কার করতে হবে


1

একক অ্যাপ্লিকেশনের কিছু সময় এই সমস্যাটিও চলে আসে সেই ক্ষেত্রে আপনি যখন আপনার অ্যাপ্লিকেশন প্রকাশ করবেন তখন এই চেকবক্সটি নির্বাচন করুন এখানে চিত্র বর্ণনা লিখুন


1

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


0

আপনি যদি এপিসভার, বা অন্য কোনও এমভিসি-ভিত্তিক সিএমএসে কাজ করছেন তবে আপনি দেখতে পাবেন যে সেই নির্দিষ্ট নিয়ামকের নামটি ইতিমধ্যে দাবি করা হয়েছে।

কল করা কন্ট্রোলার তৈরি করার চেষ্টা করার সময় আমার সাথে এটি ঘটেছিল FileUpload


0

আমি একই সমস্যা ছিল। এবং মূল কারণটি ছিল আমার দুটি ভিন্ন অঞ্চলে একই নিয়ামক ছিল। একবার আমি তাদের একজনকে এটির কাজ ঠিক করে দিই।

আমি এটা আপনার জন্য সহায়ক হবে।

প্রকল্প সমাধান


0

একই কন্ট্রোলারের নাম সহ আমার একটি সমাধানে দুটি প্রকল্প রয়েছে। আমি প্রথম প্রকল্পের দ্বিতীয় প্রকল্পের রেফারেন্স সরিয়েছি এবং ইস্যু সমাধান হয়েছে


0

আমি খুঁজে পেয়েছি যে errorতিহ্যবাহী এএসপি.এনইটি ওয়েবসাইটের সাথে আপনি এই ত্রুটিটি ঘটতে পারে যখন আপনি নন অ্যাপ_কোড ডিরেক্টরিতে কন্ট্রোলার তৈরি করেন (কখনও কখনও ভিজ্যুয়াল স্টুডিও এটির প্রতিরোধ করে)।

এটি ফাইলের ধরণটি "সংকলন" এ সেট করে যেখানে "অ্যাপ_কোড" এ যুক্ত কোনও কোড "সামগ্রী" এ সেট করা থাকে। আপনি যদি অ্যাপ্লিকেশন_কোডে ফাইলটি অনুলিপি করেন বা সরান তবে এটি এখনও "সংকলন" হিসাবে সেট করা আছে।

ওয়েবসাইট প্রকল্পের কোনও বিল্ড অপারেশন না হওয়ায় ওয়েবসাইট প্রকল্প অপারেশনের সাথে এটির কিছু আছে বলে আমি সন্দেহ করি the

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