মিসিংম্যানিফেস্ট রিসোর্সএক্সপেশন বলতে কী বোঝায় এবং কীভাবে এটি ঠিক করবেন?


151

পরিস্থিতি:

  • আমার কাছে একটি ক্লাস লাইব্রেরি রয়েছে, যার RT.Serversকয়েকটি সংস্থান রয়েছে (টাইপের byte[], তবে আমি এটি গুরুত্বপূর্ণ মনে করি না)
  • একই শ্রেণীর পাঠাগারটিতে এমন একটি পদ্ধতি রয়েছে যা সেই সংস্থানগুলির মধ্যে একটি ফেরত দেয় returns
  • আমার একটি সাধারণ প্রোগ্রাম রয়েছে (সেই লাইব্রেরির রেফারেন্স সহ) যা কেবলমাত্র সেই একক পদ্ধতিটিকে কল করে

আমি MissingManifestResourceExceptionনিম্নলিখিত বার্তাটি দিয়ে একটি পেয়েছি :

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

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


2
নেট। নেট-এ এটি সবচেয়ে আপত্তিজনক ব্যতিক্রম। এটি কমপক্ষে 3 টি পরিস্থিতিতে ট্রিগার করে যা সাধারণ কিছুই ভাগ করে না।
আরআর-

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

উত্তর:


238

এই সমস্যাটি সমাধান করার জন্য আমাকে যা করতে হবে তা হ'ল Resources.resxসমাধান এক্সপ্লোরারের ফাইলটি ডান ক্লিক করুন এবং কাস্টম টুল রান করুন ক্লিক করুন । এটি স্বয়ংক্রিয়ভাবে উত্পন্ন Resources.Designer.csফাইলটি পুনরায় উত্পন্ন করে ।

প্রজেক্টে ম্যানুয়ালি .resx ফাইলটি যুক্ত করা হলে ফাইলটির কাস্টম টুল সম্পত্তিটি "ResXFileCodeGenerator" এ সেট করতে হবে।

সমস্যাটি নেমস্পেসের অমিলের কারণে হয়, যা আপনি যদি প্রকল্পের সেটিংসে অ্যাসেমব্লির "ডিফল্ট নেমস্পেস" পরিবর্তন করেন occurs (আমি এটিকে (আগের) "Servers"থেকে (এখন) এ পরিবর্তন করেছি "RT.Servers")

এতে স্বয়ংক্রিয়ভাবে উত্পন্ন কোডে Resources.Designer.cs, নিম্নলিখিত কোড রয়েছে:

internal static global::System.Resources.ResourceManager ResourceManager {
    get {
        if (object.ReferenceEquals(resourceMan, null)) {
            global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Servers.Resources", typeof(Resources).Assembly);
            resourceMan = temp;
        }
        return resourceMan;
    }
}

আক্ষরিক স্ট্রিং "Servers.Resources"এ পরিবর্তন করতে হয়েছিল "RT.Servers.Resources"। আমি এটি ম্যানুয়ালি করেছি, তবে কাস্টম টুলটি চালানোও এটি সমানভাবে সম্পন্ন হত।


9
এটি আমার অনেক সময় বাঁচায়!
এরিক

1
+1 টি! ভিএস ২০১০-তে উপরে প্রদর্শিত রিসোর্স ম্যানেজার আক্ষরিক স্ট্রিংটি স্বয়ংক্রিয়ভাবে কমপক্ষে উইনফোর্ডের জন্য প্রকল্পের বৈশিষ্ট্যগুলিতে (অ্যাপ্লিকেশন ট্যাব) ডিফল্ট নেমস্পেসের মানটিতে আপডেট হবে।
ট্রুউইল

2
আপনার যদি রিসোর্স.রেক্স ফাইল না থাকে?
ashes999

@ অ্যাসেস৯৯৯: আপনি কি প্রোপার্টি ফোল্ডারে সন্ধান করেছেন? এটি যেখানে অন্তত সি # প্রকল্পের জন্য এটি।
রেনিপিট

আমি একই ইস্যুটি চালিয়েছি। প্রজেক্টে .resx ফাইলটি ম্যানুয়ালি যুক্ত করা হয়েছিল, ফাইলটির কাস্টম টুল সম্পত্তিটি আমি "রেজএক্সফিলকোডিজেনারেটর" এ সেট করেছি then রিস্যাক্স ফাইলটি প্রথমে এবং পরে ডিজাইনার.ভিবি ফাইল পরে। অ্যাক্টুলি ডেসিঞ্জার ফাইলটি প্রথম এবং পরে .resx ফাইল। আমি কীভাবে এটি তৈরি করতে পারি ....
কবিতা

37

আমি আজই এই সমস্যাটি পেরিয়ে এসেছি এবং আমি এই মাইক্রোসফ্ট সহায়তা এবং সমর্থন পৃষ্ঠাটি পেয়েছি যা আসলে সমস্যার সমাধান করেছিল around

আমার ফাইলের শীর্ষে, বিশ্বব্যাপী নেমস্পেসে আমার বেশ কয়েকজন প্রতিনিধি ছিল এবং MissingManifestResourceExceptionএই লাইনে প্রোগ্রামটি চালানোর সময় হঠাৎ করেই আমি পেয়ে যাচ্ছিলাম :

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

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

তারপরে আমি উপরের লিঙ্কটি পেরিয়ে এসেছি, যা বলেছে

এই সমস্যাটি সমাধান করার জন্য, অন্যান্য শ্রেণীর সমস্ত সংজ্ঞা সরিয়ে নিন যাতে সেগুলি ফর্মের শ্রেণির সংজ্ঞার পরে উপস্থিত হয়।

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


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

7
ফর্ম 1 সিএস ফাইল (আপনার প্রদত্ত লিঙ্কটির "রেজোলিউশন" বিভাগে আলোচিত) ফর্মের শ্রেণীর উপরে একটি শ্রেণি যুক্ত করার কারণে আমি ত্রুটি পেয়েছি। ধন্যবাদ!
ম্যাট স্মিথ

একই সমস্যা; অন্য কিছুই কিছুই কাজ করছে না তাই আমি কেবল লাইনটি মুছে ফেলেছি: this.Icon = ((System.Drawing.Icon) (উত্স.গেটবজেক্ট ("$ this.Icon")))); 'কারণ আমি সেই নির্দিষ্ট ফর্মে আইকনটির বিষয়ে চিন্তা করি না :)
গ্যারি হাকাবোন

এটাই উত্তর। ধন্যবাদ.
সের্তান পেকেল

যদি কেউ বিভ্রান্ত হয় তবে আমার ফর্ম 1 সি এর "ফর্ম 1" বিটের আগে "স্ট্রিংএক্সটেনশানস" নামে একটি ক্লাস থাকলে আমি এটিকে উপরের পরিবর্তে ফর্ম 1 সি তে ফর্ম 1 এর নীচে স্থানান্তরিত করেছি এবং এটি কাজ করেছে
মা ডুড

31

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

ডিজাইনার ক্লাসের আগে আপনি যদি কোনও ক্লাস যুক্ত MissingManifestResourceExceptionকরেন তবে রানটাইমে আপনি ব্যতিক্রম পাবেন (কোনও সংকলনের সময় ত্রুটি বা সতর্কতা নেই) কারণ

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

(সামান্য) আরও তথ্যের জন্য এই পোস্টটি দেখুন


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

16

আমারও একই সমস্যা ছিল তবে টিমউইয়ের পরামর্শ অনুসারে রান কাস্টম টুল কমান্ডটি ব্যবহার করে করা আমার ক্ষেত্রে সহায়ক হয়নি।

তবে এটি আমার ডান দিক মধ্যে নেতৃত্ব, কারণ আমি শেষ পর্যন্ত প্রোপার্টি এর .resx ফাইল। এখানে আমি অন্য .resx একটি পার্থক্য লক্ষ্য ফাইলের মধ্যে যা কোনও সমস্যা তৈরি করে না।

আমার ক্ষেত্রে আমাকে "বিল্ড অ্যাকশন" সম্পত্তিটি "রিসোর্স" থেকে "এমবেডেড রিসোর্স" এ পরিবর্তন করতে হয়েছিল।

আমার সর্বোত্তম অনুমানের কারণটি হ'ল, আমার কাছে একটি লাইব্রেরিতে .resx ছিল যা অন্য অ্যাপ্লিকেশন থেকে ব্যবহৃত হয়েছিল। আমার অ্যাপ্লিকেশনটির নিজস্ব .resx ফাইল নেই, সুতরাং এটি লাইব্রেরি থেকে একটিটি ব্যবহার করতে হয়েছিল - যা কেবল তখনই পাওয়া যায় যখন এটি লাইব্রেরিতে এম্বেড থাকে এবং "একা দাঁড়িয়ে" থাকে না।


2
+1 ধন্যবাদ, আমি আমার সংস্থান ফাইলগুলি ডাবল-চেক করেছি যা অন্যান্য অ্যাপ্লিকেশন দ্বারা রেফারেন্সযুক্ত একটি পৃথক লাইব্রেরিতে রয়েছে। আমি কন্টেন্টে বিল্ড অ্যাকশন সেট করেছি এবং এটি এম্বেডেড রিসোর্সে পরিবর্তন করার পরে, সমস্ত ভাল কাজ করেছে। নির্বোধ পর্যবেক্ষণ
শান প্লোরডে

1
ধন্যবাদ! এটি আমার পক্ষে কাজ করেছিল যেখানে আমার কাছে টেস্টিংয়ের জন্য সামগ্রী বা কিছু ব্যবসায়ের মানচিত্রের নিয়মযুক্ত কিছু পাঠ্য ফাইল ছিল। সামগ্রী থেকে এমবেডেড রিসোর্সে পরিবর্তন করা সমস্যার সমাধান করে।
এস বাগি

12

আমি যখন ২০১২-এর কোনও অনুরূপ ইস্যুতে চালিত হই তখন দেখা গেল যে রেক্স ফাইলটির "কাস্টম টুল নেমস্পেস" সম্পত্তিটি ভুল ছিল (আমার ক্ষেত্রে, এটি আনসেট ছিল না, তাই জেনারেটেড কোডটি রানটাইমের সময় এই ব্যতিক্রমটি প্রকাশ করে) । রেজেক্স ফাইলের জন্য আমার চূড়ান্ত বৈশিষ্ট্যের সেটটি ছিল এরকম:

  • বিল্ড অ্যাকশন: এম্বেডেড রিসোর্স
  • আউটপুট ডিরেক্টরিতে অনুলিপি: অনুলিপি করবেন না
  • কাস্টম সরঞ্জাম: রেসএক্সফিলকোডিজেনেটর
  • কাস্টম টুল নেমস্পেস : মাই.প্রজেক্ট.এস.প্রোপার.নামস্পেস

3

আরও দেখুন: এমএসবিল্ডের সাথে বিল্ডিংয়ের পরে পরীক্ষা চলাকালীন মিসিংম্যানিফেস্ট রিসোর্স এক্সেকশন (।

আমি এখানে উত্তর সম্পূর্ণরূপে পুনরাবৃত্তি:

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

<LogicalName>$(RootNamespace).Properties.Resources.resources</LogicalName> 

যেমন প্রকল্প প্রকল্পের এম্বেড করা সংস্থান প্রবেশদ্বারটি এরকম দেখাচ্ছে:

<ItemGroup>
  <EmbeddedResource Include="Properties\Resources.resx">
    <Generator>ResXFileCodeGenerator</Generator>
    <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    <LogicalName>$(RootNamespace).Properties.Resources.resources</LogicalName> 
  </EmbeddedResource>
</ItemGroup>

এটিতে বিস্তারিত:

মনে রাখবেন যে আমরা একটি .resx ফাইল ব্যবহার করছি, তবে ত্রুটিটি এখনও উপস্থিত রয়েছে বলে মনে হচ্ছে।

আপডেট: সংস্থানসমূহ সহ সমস্যা (এক্সক্লুসিএএমএএমএল) আউটপুট পাথ এবং ফরোয়ার্ড বা পশ্চাদপদ স্ল্যাশগুলির ব্যবহারের সাথে সম্পর্কিত হিসাবে সম্পর্কিত বলে মনে হচ্ছে: প্রকল্পের আউটপুট ডিরেক্টরিগুলি সংশোধন করার কারণ কেন: আইওএক্সেপশানটি শিরোনামহীন ছিল "রিসোর্স সনাক্ত করতে পারে না 'অ্যাপ্লিকেশন। এক্সএএমএল' । "


প্রায় আট ঘন্টা এই সমস্যাটি ডিবাগ করার পরে এবং প্রতিটি গিথুব, এসও এবং গুগলের উত্তরে আক্ষরিক অর্থে ট্রলিংয়ের পরে, এই উত্তরটিই আমার সমস্যার সমাধান করেছে ... তবে, নেট সমস্যাটি 3.5 থেকে 4.7.2 এ স্থানান্তরিত হওয়ার পরে আমার সমস্যাটি ঘটতে শুরু করে।
নেভিল

3

আমি এই সমস্যার এক অন্য কারণে দৌড়েছি, যা রেক্স ফাইলগুলির সাথে সম্পর্কিত নয়। আমার একটি ক্লাস লাইব্রেরি ছিল যেখানে এসেম্বলিআইএনফো-র মধ্যে নিম্নলিখিত রয়েছে:

[assembly: ThemeInfo(
ResourceDictionaryLocation.SourceAssembly,
ResourceDictionaryLocation.SourceAssembly)]

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

আমি প্রকৃত ব্যতিক্রম পাইনি, কেবলমাত্র

'সিস্টেম.সংশ্লিষ্ট.মিসিংম্যানিফেস্ট রিসোর্সএক্সেপশন' টাইপের প্রথম সুযোগ ব্যতিক্রম।

ব্যতিক্রমের বিশদটি দেখার জন্য, সিস্টেমটি MyAssembly.g.res উত্সের জন্য অনুরোধ করেছিল

আশা করি এটি অন্য কারও পক্ষে সহায়ক হতে পারে।


2
এই জন্য আপনাকে ধন্যবাদ! ঠিক আমার দরকার ঠিক! ঘটবে যখন আপনি দুর্ঘটনাক্রমে একটি নিয়ন্ত্রণ লাইব্রেরি হিসাবে ভিউমোডেল প্রকল্প তৈরি করেন।
অ্যান্ড্রু হ্যানলন

ধন্যবাদ. এটি আমার জন্য এটি স্থির করে দিয়েছে।
জামলেক

2

এটি মানুষকে সহায়তা করবে তা নিশ্চিত নয় তবে এই একজন আমার পক্ষে কাজ করেছেন:

সুতরাং আমার কাছে সমস্যাটি হ'ল আমি নিম্নলিখিত বার্তাটি পাচ্ছিলাম:

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

আমি অন্য প্রকল্পের পাঠাগার থেকে আমার প্রকল্পে অন্তর্ভুক্ত থাকা সংস্থানগুলি পাওয়ার চেষ্টা করছিলাম।

সমস্যাটি সমাধান করার জন্য আমি যা করেছি তা হ'ল ট্যাবটিতে অ্যাক্সেস মডিফায়ার সেট করা - প্রকল্প "> সম্পত্তি"> "অভ্যন্তরীণ" থেকে সংস্থানসমূহ (কেবল একই শ্রেণীর লাইব্রেরির মধ্যে অ্যাক্সেসযোগ্য) "পাবলিক" (অন্য শ্রেণীর পাঠাগার থেকে অ্যাক্সেসযোগ্য)

তারপরে দৌড়ে এসে ভোল, আমার জন্য আর ত্রুটি নেই ...


2

ব্লেম প্রদত্ত সমাধানটি আমার পক্ষেও কাজ করেছিল।

আমি একজন ভিএস 2013 ব্যবহারকারী। অনেকগুলি সমাধানের পরেও কোনও ভাগ্যবিহীন হওয়ার পরেও আমি এটি চেষ্টা করেছি:

  1. একাধিক ফাইলের ক্ষেত্রে একের পর এক রিসোর্স ফাইলটিতে ডান ক্লিক করুন।
  2. নিশ্চিত হয়ে নিন, সম্পত্তি "বিল্ড অ্যাকশন" "এম্বেডেড রিসোর্স" এ সেট করা আছে।

এটাই! :)


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

2

আমার একই সমস্যা ছিল, তবে আমার ক্ষেত্রে আমি একটি ইউজারকন্ট্রোল-এ একটি ক্লাস রাখি যা এইভাবে ব্যবহারকারীর নিয়ন্ত্রণের সাথে সম্পর্কিত

Public Class MyUserControlObject

end Class

Public Class MyUserCOntrol

end Class

সমাধানটি ছিল MyUserControlObjectএইভাবে ব্যবহারকারীর নিয়ন্ত্রণ শ্রেণীর শেষের দিকে নিয়ে যাওয়া

Public Class MyUserCOntrol

end Class

Public Class MyUserControlObject

end Class

আশা করি এটা কাজে লাগবে


একটি কৃপণ ত্রুটির বর্ণনা সম্পর্কে কথা বলুন ... আমি মূল ফর্মের সিএস ফাইলে একটি সহায়ক শ্রেণি যুক্ত করেছি। আমি কখনই অনুমান করতাম না যে ত্রুটি বার্তাটি এর সাথে যুক্ত হবে। ধন্যবাদ!
অ্যাডাম লুইস

1

আমি আমার প্রকল্পটি ভিএস 2003 থেকে ভিএস 2010 এ পোর্ট করার পরে আমি মিসিংমেনিফিসার রিসোর্সএক্সেপশন ত্রুটি পেয়ে যাচ্ছিলাম। আমার ফর্ম ক্লাস রয়েছে এমন ফাইলটিতে আমার কাছে অন্য কোনও ক্লাস সংজ্ঞায়িত হয়নি। এবং আমার রেজেক্স রিসোর্স ফাইলের নামটিও সঠিকভাবে সেট করা হয়েছিল। কাজ হয়নি।

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


1

সম্প্রতি একই সমস্যার জন্য দৌড়ে গিয়েছিল, কিছুটা লড়াই করে, এই বিষয়টি খুঁজে পেয়েছি তবে উত্তর আমার কাছে সঠিক ছিল না।

আমার সমস্যাটি হল এই যে, যখন আমি (এটি একটি প্রধান উইন্ডোতে নেই) আমার WPF প্রকল্প থেকে প্রধান উইন্ডোতে মুছে, আমি অপসারণ করতে ভুলে গেছি ছিল StartupUriথেকে App.xaml। আমি অনুমান করি যদি আপনার কোনও ভুল হয় তবে এই ব্যতিক্রম ঘটতে পারে StartupUri, তাই যদি কেউ এর সাথে লড়াই করে যাচ্ছেন - আপনার চেক StartupUriইন করুন App.xaml


1

সম্প্রতি এই সমস্যাটিতে হোঁচট খেয়েছে, আমার ক্ষেত্রে আমি কয়েকটি কাজ করেছি:

  1. নিশ্চিত করে নিন যে নামস্থানগুলি রেক্স ফাইলের ডিজাইনার.সি ফাইলগুলিতে সামঞ্জস্যপূর্ণ

  2. অ্যাসেমব্লির ডিফল্ট নেমস্পেস (প্রকল্পটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি বেছে নিন) সঞ্চারিত ফাইলের নামের জায়গাতে একই সেট করা আছে তা নিশ্চিত করুন।

একবার আমি পদক্ষেপ 2 করলে ব্যতিক্রমটি চলে গেল।


1

ফর্ম থেকে প্রাপ্ত ক্লাসের ঠিক আগে যখন আমি ফাইলটিতে অন্য একটি ক্লাস যুক্ত করেছি তখন আমার এই সমস্যা হয়েছিল। সমস্যা সংশোধন করার পরে এটি যুক্ত করা।


1

এছাড়াও আপনি যখন ডিজাইনার তৈরি ফর্মের শ্রেণীর উত্স কোডে একটি নতুন ক্লাস রাখেন তখন একই ত্রুটি দেখা দিতে পারে।

এই নতুন শ্রেণিটি সরানো হতে পারে এবং একটি ভিন্ন সিএস ফাইলে রাখা যেতে পারে।

(কমপক্ষে আমার ক্ষেত্রে এটি ছিল সমস্যা ...)


0

কারণ আমি আমার ওয়েব অ্যাপ্লিকেশনটি প্রাক-সংকলন করছি (ভিএস ২০১২ প্রকাশের বৈশিষ্ট্যটি ব্যবহার করে)। আমি উপরের ত্রুটি পেয়ে যাচ্ছিলাম। আমি সমস্ত পরামর্শ চেষ্টা করেছিলাম, কিন্তু অদ্ভুতভাবে 'কন্টেন্ট' এ 'বিল্ড অ্যাকশন' পরিবর্তনটি কৌতুকটি করেছিল!


0

আমার ক্ষেত্রে, আমার সংস্থানগুলির সাথে একটি ওয়েব এপিআই রয়েছে এবং আমি সেখান থেকে একটি ন্যুগেট প্যাকেজ তৈরি করি। আমি যখন এই প্রকল্পটি অন্য প্রকল্পগুলিতে ব্যবহার করি তখন বুঝতে পারি যে আমি যখন সংস্থানগুলির সাথে একটি এপিআই অনুরোধ করব তখন আমি MissingManifestResourceExceptionকিছুটা পুনর্নির্মাণের পরে যাচ্ছি, আমি শিখি নুগেট প্যাকেজর স্বয়ংক্রিয়ভাবে সংস্থানগুলি প্যাক করছে না। আপনি যদি রিসোর্স ফাইলগুলি ব্যবহার করতে চান তবে আপনাকে তা ম্যানুয়ালি করতে হবে। সুতরাং আপনার আপনার .nuspec ফাইলটিতে নীচে লাইন যুক্ত করতে হবে: ( https://github.com/NuGet/Home/issues/1482 দেখুন )

<package> 
    <metadata>
    </metadata>
    <files>
        <file src="bin\Debug\en\MyAssembly.resource.dll" target="lib\net40\en\MyAssembly.resource.dll" />
        <file src="bin\Debug\es\MyAssembly.resource.dll" target="lib\net40\es\MyAssembly.resource.dll" />
    </files>
</package>

তবে, ফাইলগুলি যুক্ত করার আগে, আপনার নিশ্চিত হওয়া দরকার যে আপনি নেট এর কোন সংস্করণ ব্যবহার করছেন।


0

আমি একটি নতুন নির্মিত এফ # প্রকল্পটি দিয়েছিলাম। সমাধানটি ছিল প্রকল্পের বৈশিষ্ট্যগুলিতে "স্ট্যান্ডার্ড রিসোর্সের নাম ব্যবহার করুন" -> অ্যাপ্লিকেশন -> সংস্থানসমূহ / অ্যাপ্লিকেশন সংস্থানগুলি কীভাবে পরিচালিত হবে তা নির্দিষ্ট করুন to আপনি যদি চেকবক্সটি না দেখতে পান তবে আপনার ভিজ্যুয়াল স্টুডিও আপডেট করুন! আমি 15.6.7 ইনস্টল করা আছে। 15.3.2 এ এই চেকবক্সটি নেই।


0

শুধু উল্লেখ করার জন্য। আপনি যদি একটি ধ্রুবক বা আক্ষরিক ব্যবহার করেন তবে নিশ্চিত হয়ে নিন যে এটি ফর্মের ProjectName.Resourcesকোনও উত্সকে বোঝায় , এবং সিপেনটেন নাResources.resx

এটি আপনাকে এক বা দুই ঘন্টা বাঁচাতে পারে।


0

আমি বিশ্বব্যাপী নেমস্পেসের নামকরণের পরে উইনফোর্ডের ভিত্তিতে পরিচালিত সি ++ প্রকল্পের সাথে এই সমস্যার মুখোমুখি হয়েছি (ম্যানুয়ালি নয়, তবে ভিএস2017 এর পুনরায় নামকরণ সরঞ্জাম সহ)।

সমাধানটি সহজ, তবে অন্য কোথাও উল্লেখ করা হয়নি।

RootNamespaceC ++ নেমস্পেসের সাথে মিল রাখতে আপনাকে vcxproj-file এ প্রবেশ করতে হবে ।


0

আমার ক্ষেত্রে এটি উইনফর্মস ফর্ম থেকে খোলা একটি উইন্ডোর জ্যামালের একটি টাইপ ছিল:

ত্রুটিপূর্ণ: <Image Source="/Resources/WorkGreen.gif"/>

সঠিক: <Image Source="../Resources/WorkGreen.gif"/> এটি কারও সাহায্য করতে পারে


-3

থেকে Microsoft সহায়তা পৃষ্ঠা :

এই সমস্যাটি দেখা দেয় যদি আপনি কোনও স্থানীয় উত্স ব্যবহার করেন যা উপগ্রহ অ্যাসেম্বলিতে বিদ্যমান res এই সমস্যাটি সাধারণত ঘটে যদি আপনি ম্যানুয়ালি একটি উপগ্রহ সমাবেশ তৈরি করেন।

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

Resgen strings.CultureIdentifier.resx 
MyApp.strings.CultureIdentifier.resources

1
আপনার প্রতিক্রিয়াটির জন্য ধন্যবাদ, তবে আমি জানি না যে রেজজেন.এক্সেক্স কী, আমি কখনই এটি ব্যবহার করি নি, এবং সত্যই আমি এটি ব্যবহার করতে চাই না কারণ আমি অভিনব কিছু ব্যবহার করার চেষ্টা করছি না। ভিজ্যুয়াল স্টুডিও থেকে এটি ঠিক করার কোনও উপায় অবশ্যই আছে? উদাহরণস্বরূপ, যেহেতু আপনি বলছেন যে সংস্থানটি "স্থানীয়ীকৃত", তাই আমি কীভাবে কোনও সংস্থানকে অ-স্থানীয়করণ হিসাবে ঘোষণা করব? আবার ধন্যবাদ.
টিমউই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.