অ্যাপ_ কোডে থাকা ক্লাসগুলি অ্যাক্সেসযোগ্য নয়


197

আমি এএসপি.নেটে একটি ওয়েবসাইট তৈরি করেছি এবং একটি ক্লাস তৈরি করেছি এবং এটিকে অ্যাপ_ কোড ফোল্ডারের ভিতরে রেখেছি। তবে আমি আমার অন্যান্য পৃষ্ঠা থেকে এটি অ্যাক্সেস করতে পারি না। এটির অনুমতি দেওয়ার জন্য কি কিছু কনফিগার করা দরকার? আমি এটি পূর্ববর্তী প্রকল্পগুলিতে কাজ করতে পেরেছি তবে এটি কোনওরকম নয়।

namespace CLIck10.App_Code
{
    public static class Glob
    {
        ...
    }
}

1
আমি ধরে নিচ্ছি আপনি নিজের ওয়েব পৃষ্ঠাগুলিতে নাম স্থানটি অন্তর্ভুক্ত করছেন?
অ্যালেক্স জজার্তো

1
সম্ভাব্য অনুরূপ - stackoverflow.com/questions/409070/...
vapcguy

উত্তর:


637

ফোল্ডারে .csফাইলটিতে রাইট ক্লিক করুন App_Codeএবং এর বৈশিষ্ট্যগুলি পরীক্ষা করুন।

"বিল্ড অ্যাকশন" "সংকলন" তে সেট করা আছে তা নিশ্চিত করুন।


10
আপনি কীভাবে এটি ডিফল্ট বিল্ড অ্যাকশন হিসাবে সেট করতে পারেন? বা অ্যাপ_কোড ফোল্ডারে প্রতিটি ফাইলের জন্য আমাকে কি তা করতে হবে?
মালাচি

3
কেন আমি ভিজ্যুয়াল স্টুডিও 2012 এ এটি করতে পারি না ??!
আরএসকে

4
এটি ভিএস ২০১২-এ একটি বাগ হিসাবে উপস্থিত হয়েছে। আমারও হয়।
জেমস নেল

2
যারা আরও বিশদ চান তাদের জন্য আপনি এখানে পেতে পারেন: how-to-code-net.blogspot.ro/2014/04/…
আলেক্সা অ্যাড্রিয়ান

3
হ্যাঁ এটি আমার ভিজ্যুয়াল স্টুডিও প্রকল্পের 142 ত্রুটি সমাধান করেছে, এই সমাধানটি ভাগ করে নেওয়ার জন্য অনেক ধন্যবাদ: -]
মাইকেল জি। ওয়ার্কম্যান

14

আপনি ক্লাসটি অ্যাক্সেস করতে চান এমন অন্যান্য ফাইলগুলির শীর্ষে এটি রাখুন:

using CLIck10.App_Code;

বা অন্যান্য ফাইল থেকে শ্রেণীর অ্যাক্সেস করুন:

CLIck10.App_Code.Glob

নিশ্চিত না যে এটি আপনার সমস্যা কিনা বা না তবে আপনি যদি সি # তে নতুন হয়ে থাকেন তবে এটিকে ফাঁদে ফেলা সহজ is

আপডেট: আমি সম্প্রতি খুঁজে পেয়েছি যে আমি যদি কোনও প্রকল্পে একটি অ্যাপ_কোড ফোল্ডার যুক্ত করি তবে এই "বিশেষ" ফোল্ডারটি সঠিকভাবে স্বীকৃতি দেওয়ার জন্য আমার অবশ্যই ভিজ্যুয়াল স্টুডিওটি বন্ধ / পুনরায় খুলতে হবে।


1
এটির চেহারা দিয়ে বিল্ড অ্যাকশনটির সাথে এটি করার কিছু ছিল - ফেইলবয়ের উত্তর সমস্যার সমাধান করেছে। যাইহোক উত্তর দেওয়ার জন্য ধন্যবাদ :)
মালাচি

ভালো কাজ করেছে যে আমি অ্যাপ_ কোড ফোল্ডারে ক্লাসে একটি নেমস্পেস যুক্ত করেছি worked
mashtheweb

কেন আমাদের সেই মতো নামস্পেসকে অন্তর্ভুক্ত করতে হবে? কেন ইন্টেলিজেন্স ফোল্ডারের নাম উল্লেখ না করে class শ্রেণিতে অ্যাক্সেস করতে পারছে না?
এলহাম কোহেষ্টানি

10

আপনি যে পৃষ্ঠা থেকে অ্যাপ_কোড ক্লাসটি অ্যাক্সেস করতে চান সেই পৃষ্ঠাতে যান এবং তারপরে অ্যাপ_কোড শ্রেণীর নাম স্থান যুক্ত করুন। আপনাকে usingনীচের মত একটি বিবৃতি সরবরাহ করতে হবে :

using WebApplication3.App_Code;

এর পরে, আপনাকে অ্যাপ_ কোড কোড শ্রেণিতে যেতে হবে এবং 'বিল্ড অ্যাকশন' সেট করে 'কমপাইল' করতে হবে।


4

নিশ্চিত হয়ে নিন যে আপনি নিজের পৃষ্ঠাগুলির মতো একই নাম স্থানটি ব্যবহার করছেন


1
তবে কেন এটি APP_CODE এ থাকবে? আমি ভেবেছিলাম সেখানে পাবলিক ক্লাস সহ যে কোনও কিছু সমাধানের মধ্যে স্বয়ংক্রিয়ভাবে প্রকাশ করা উচিত !?
Fandango68

4

কেন এটি ঘটে তা আমি এখনও বুঝতে পারি নি, তবে আমার App_Codeফোল্ডারে এমন ক্লাস ছিল যা একে অপরকে পদ্ধতি কল করত, এবং আমি যখন নেট নেট .৪.২.২ প্রকল্পটি তৈরি করছিলাম তখন এটি করার ক্ষেত্রে আমি ভাল ছিলাম, কিন্তু তখন আমাকে করতে হয়েছিল টার্গেট সার্ভারটি আপগ্রেড হচ্ছে না বলে এটি 4.0 এ প্রত্যাবর্তন করুন। আমি যখন এই সমস্যাটি পেলাম তখন ( langversionআমার ওয়েবকনফাইগে 6 থেকে 5 এর মধ্যে ঠিক করার পরে ... অন্য গল্পটি) ....

আমার পদ্ধতিগুলির মধ্যে একটিতে ত্রুটি থাকতেই চলেছে:

The type X.Y conflicts with the imported type X.Y in MyProject.DLL

আমার সমস্ত ক্লাস ইতিমধ্যে স্বীকৃত উত্তরে প্রস্তাবিত হিসাবে তাদের সম্পত্তিগুলিতে "সংকলন" করতে সেট করা হয়েছিল এবং প্রত্যেকটির একটি সাধারণ নাম স্থান ছিল যা একই ছিল using MyNamespace;এবং প্রতিটি শ্রেণীর শীর্ষে ছিল ।

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

দ্রষ্টব্য : আপনি যদি "অ্যাপকোড" নামে একটি মানক ফোল্ডার তৈরি করেন, আপনার ক্লাসগুলিকে এতে সরিয়ে ফেলুন, "অ্যাপ_কোড" ফোল্ডারটি মুছুন, তারপরে "অ্যাপকোড" নামকরণ "অ্যাপ_কোড" করুন, আপনার সমস্যাগুলি ফিরে আসবে। "অ্যাপ_কোড" তৈরি করতে আপনি "নতুন ফোল্ডার" বা "অ্যাএসপি। নেট ফোল্ডার যুক্ত করুন" বিকল্পটি ব্যবহার করেন কিনা তা বিবেচ্য নয় - এটি নামের মধ্যে কী মনে হচ্ছে।

সম্ভবত এটি কেবল নেট নেট 4.0.০ (এবং সম্ভবত পূর্ববর্তী) ইস্যু ... ফিরে যাওয়ার আগে আমি 4.5.3 তে ঠিক ছিলাম!


0

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


0

আমার ক্ষেত্রে, আমি অ্যাপ_ কোড ফোল্ডারে সংজ্ঞায়িত ক্লাসগুলির সাথে বিল্ড করার কোনও প্রকল্প পেতে পারি না।

দৃশ্যের যথাযথভাবে মন্তব্য করতে পারবেন না, তবে সম্মতিতে সহযোগিতা করার জন্য ইন্টেলিসেন্সের জন্য ভিজ্যুয়াল স্টুডিওটি বন্ধ করে আবার খুলতে হয়েছিল ...

আমি লক্ষ্য করেছি যে যখন অ্যাপ_কোড ফোল্ডারে কোনও শ্রেণি 'বিষয়বস্তুর' পরিবর্তে 'সংকলন' সেট করা থাকে (এটিকে ডান ক্লিক করুন) ক্লাসের দ্বিতীয় সংস্করণ থেকে ত্রুটিগুলি আসছিল ... বেশিরভাগ বাম দিকে তাকান কোড ফলক এবং ট্যাবের মধ্যে 3 টি ক্ষেত্রের মধ্যে 3। 'অন্য' একজনকে 10_App_Code বা অনুরূপ লাইনের সাথে কিছু বলা হয়েছিল।

সমস্যাটি সংশোধন করার জন্য, আমি অ্যাপ_ কোড থেকে কোডটিতে ফোল্ডারটির নামকরণ করেছি, ক্লাসে স্পষ্টরূপে নেমস্পেস সেট করেছি এবং ক্লাসের সমস্তকে 'সংকলন' এ সেট করেছি

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