Môže zobrazí chybové hlásenie "System.Resources.MissingManifestResourceException" pri prístupe na .resources súbor formulára v čase spustenia

Preklady článku Preklady článku
ID článku: 318603 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

PRIZNAKY

Keď používate program Visual Basic.NET alebo 2005 jazyka Visual Basic, Visual C# .NET alebo Visual J#.NET Windows aplikácie, môže zobraziť nasledujúce chybové hlásenie alebo podobný po načítaní formulára:
An Vyskytla sa neošetrená výnimka typu „System.Resources.MissingManifestResourceException ” došlo v mscorlib.dll

Ďalšie informácie: nenašiel niektorý zdroje vhodné pre špecifikované kultúry (alebo neutrálny kultúry) v danej zhromaždenia. Uistite sa, že "Form1.resources" bol správne vložené alebo prepojené do zhromaždenia "svojej žiadosti".

baseName: Form1 locationInfo: WindowsApplication4.Form1 názov súboru zdroja: Form1.resources zhromaždenia: svojej žiadosti, verzia = 1.0.781.33026, kultúry = neutrálne, PublicKeyToken = null
Ak kliknete na Prestávka v dialógovom okne chyby a ak používate kód integrované vývojové prostredie (IDE), zistíte, že riadok kódu vo vnútri InitializeComponent Tento problém spôsobuje vyhlásenie. Napríklad, ak vytvoríte vzorky zo sekcie "Ďalšie informácie", táto chyba sa vyskytuje v spojení s ImageList kontrola. Hoci sa chybové hlásenie môže byť iný kontrolu, oznámenie, že zdroje.Funkcia GetObject na tento riadok kódu v chybovom hlásení sa zobrazí:
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));

PRICINA

Tento problém sa vyskytuje, pretože Formulár Trieda nie je prvá trieda v module kód formulár.

Poznámka Tento článok dokumenty jedného konkrétneho príčinou tohto problému. Tam môže byť iné situácie, ktoré môžu viesť k podobným výsledkom.

RIESENIE

Ak chcete vyriešiť tento problém, premiestnite všetky ostatné triedy definície tak, že sa zobrazia po definícia triedy formulára.

RIEŠENIE

Ak chcete obísť tento problém, zmeňte Názov súboru zdroja Vlastnosť .resx súboru projektu. Chcete urobiť, postupujte nasledovne:
  1. Spustiť Visual Studio.NET 2003 alebo Visual Studio 2005.
  2. Otvoriť projekt, ktorý obsahuje lokalizovanej forme triedy, kde zobrazí chybové hlásenie, ktoré je spomenuté v časti „príznaky".
  3. Roztok Explorer, rozbaľte všetky priečinky.
  4. Kliknite pravým tlačidlom myši Form1.resX, a potom kliknite na tlačidlo Vlastnosti.
  5. V Stránky vlastností Form1.resX dialógové okno, rozbaľte položku Konfigurácia vlastnosti, a potom kliknite na tlačidlo Všeobecné podľa Spravovaných zdrojov.
  6. Zmena Názov súboru zdroja Vlastnosť z $(IntDir) / <placeholder></placeholder> .Form1.Resources na $(IntDir)/ <placeholder> .<b00></b00></placeholder>MyForm .Resources, a potom kliknite na tlačidlo ok.

    Poznámka MyForm je zástupný symbol pre názov triedy formulára triedy, ktoré ste lokalizované.
  7. Stlačte CTRL + SHIFT + S uložiť projekt. Stlačte CTRL + SHIFT + B vybudovať roztoku.Ďalšie informácie získate po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
    824495FIX: Hlásenie "MissingManifestResourceException" chyba pri pridávaní prostriedok prepojené v Visual Studio.NET 2003
  8. Stlačením klávesu F5 pre spustenie aplikácie. Aplikácia beží, a Form1 formulár zobrazený.
.

STAV

Toto správanie je zámerné.

DALSIE INFORMACIE

Formu kódu modul môže obsahovať viacero tried. Keď projekt je postavený, build systém musí rozhodnúť, ktorá trieda, mal by používať na vytvoriť súbor .resources. Návrh projektu build systém určuje že prvej triedy v module kód je trieda na ktorom .resources súbor je založená. Súbor .resources je pomenovaná podľa tejto triedy, nie názov formulára. Vo väčšine prípadov, tieto dva názvy sú rovnaké. Avšak, ak tieto názvy sa odlišujú, zobrazí chybové hlásenie, ktoré je spomenuté v „Príznaky"sekcii.

Po načítaní formulára v čase spustenia, InitializeComponent metóda môže mať získať objekty zo súboru .resources. InitializeComponent vyhľadá Form_Name.Resources súbor v zhromaždení. Pretože počiatočné Form_Name.Resources súbor nikdy vytvoril alebo prepojené na zhromaždenie, pokus o načítanie .resources súboru zlyhá.

Kroky na reprodukovanie správanie

  1. Vytvoriť Windows aplikácie projektu v programe Visual Basic.ČISTÁ alebo v jazyku Visual Basic 2005, Visual C#.NET alebo Visual J#.NET. Form1 sa vytvorí na základe predvoleného nastavenia.Poznámka V Visual Studio 2005, dostanete nasledovné hlásenie s upozornením:
    Komponenty sa nedá pridať v lokalizáciu režime. V jazykovú vlastnosť vrátiť na predvolený formulár a pridať súčasti, vyberte (predvolené).
    Poznámka Musíte zmeniť kód v jazyku Visual Basic 2005. V predvolenom nastavení jazyka Visual Basic vytvorí dva súbory pre projekt keď vytvárate formuláre systému Windows projektu. Ak formulár nazýva Form1, dva súbory, ktoré predstavujú forme sú pomenované Form1.vb a Form1.Designer.vb. Môžete napísať kód v súbore Form1.vb. Windows Forms Designer píše kód v súbore Form1.Designer.vb. Windows Forms Designer používa čiastočné kľúčové slovo vykonávanie Form1 rozdeliť na dva samostatné súbory. Toto správanie bráni dizajnér-generované kód sú roztrúsené s váš kód.

    Ďalšie informácie o nové vylepšenia jazyka jazyka Visual Basic 2005 nájdete na webovej lokalite Microsoft Developer Network (MSDN):
    http://msdn2.Microsoft.com/en-us/library/ms379584 (vs.80) .aspx
    Ďalšie informácie o čiastočné tried a Windows Forms Designer, nájdete na nasledovnej webovej lokalite MSDN:
    http://msdn2.Microsoft.com/en-us/library/ms171843.aspx
  2. Pridať ImageList kontroly Form1;
  3. Pridať ikonu súboru ImageList kontrola.
  4. V module kódom Form1 pridať nasledujúci kód pred definícia Form1: Visual Basic.NET:
    Public Class someClass
    End Class
    					
    Visual C#.NET a Visual J#.NET:
    public class someClass
    {
    }
    					
  5. Vybudovať projektu. Oznámenie, že projekt stavia úspešne.
  6. Spustenie projektu. Všimnite si, že zobrazí chybové hlásenie ktorý je uvedený v časti „príznaky".

Vlastnosti

ID článku: 318603 - Posledná kontrola: 8. novembra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Kľúčové slová: 
kbvs2005applies kbvs2005swept kbprb kbmt KB318603 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:318603

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com