Při přístupu k souboru s příponou Resources formuláře při běhu, může se zobrazit chybová zpráva "System.Resources.MissingManifestResourceException"

Překlady článku Překlady článku
ID článku: 318603 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Pokud používáte jazyka Visual Basic.NET nebo jazyka Visual Basic 2005, Visual C# .NET nebo Visual J#.NET Windows aplikace, můžete obdržet následující chybová zpráva nebo podobné jedné při načtení formuláře:
Aplikace Neošetřená výjimka typu "System.Resources.MissingManifestResourceException" došlo k mscorlib.dll

Další informace: nebyl nalezen žádný vhodné prostředky pro uvedenou (nebo neutrální kultury), v daném sestavení. Zkontrolujte, zda byla správně vložený nebo propojený "Form1.resources" do sestavení "myApplication".

baseName: formulář1 locationInfo: Název souboru prostředků WindowsApplication4.Form1: sestavení Form1.resources: myApplication verze = 1.0.781.33026, Culture = neutrální, PublicKeyToken = null
Pokud klepnete na tlačítko Konec v dialogovém okně došlo k chybě a používáte-li kód integrované vývojové prostředí (IDE), zjistíte, řádek kódu uvnitř InitializeComponent Tento problém způsobuje prohlášení. Vytvoříte-li například vzorek z části "Další informace", k této chybě dochází ve spojení s Seznam obrázků ovládací prvek. Ačkoli chybové zprávy mohou odkazovat na jiné řízení, Všimněte si, že prostředky.Metody GetObject na tento řádek kódu v chybové zprávě zobrazí:
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));

Příčina

K tomuto problému dochází, protože Formulář Třída není první třídou v modulu kódu formulář.

Poznámka: Jeden konkrétní tohoto článku dokumenty způsobit tohoto problému. Existuje může být jiných situacích, které mohou vést k podobnému výsledku.

Řešení

Chcete-li tento problém vyřešit, přesuňte všechny ostatní třídy definice tak, aby se zobrazily po definici třídy formuláře.

Jak potíže obejít

Chcete-li tento problém vyřešit, změňte Název souboru zdroje Vlastnost souboru RESX projektu. Chcete-li to provést, postupujte takto:
  1. Spusťte aplikaci Visual Studio.NET 2003 nebo Visual Studio 2005.
  2. Otevřete projekt obsahující lokalizovaný třída formuláře, kde chybová zpráva uvedená v části "Příznaky".
  3. V aplikaci Solution Explorer rozbalte všechny složky.
  4. Klepněte pravým tlačítkem myši Form1.resXa klepněte na tlačítko Vlastnosti.
  5. V Stránky vlastností Form1.resX Dialogové okno pole, rozbalte položku Vlastnosti konfiguracea klepněte na tlačítko Obecné ve skupinovém rámečku Spravované prostředky.
  6. Změnit Název souboru zdroje Vlastnost z $(IntDir) / <placeholder></placeholder> .Form1.resources k $(IntDir)/ <placeholder> .<b00></b00></placeholder>MyForm s příponou Resources.a klepněte na tlačítko OK.

    Poznámka: MyForm je zástupný symbol pro název třídy třída formuláře, který je lokalizován.
  7. Stiskněte kombinaci kláves CTRL + SHIFT + S uložte projekt. Stiskněte kombinaci kláves CTRL + SHIFT + B sestavili řešení.Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
    824495Oprava: Obdržíte chybovou zprávu "missingmanifestresourceexception" po přidání propojené zdroje v aplikaci Visual Studio.NET 2003
  8. Stisknutím klávesy F5 pro spuštění aplikace. Spustí aplikaci a formulář1, zobrazí se formulář.
.

Prohlášení

To chování je záměrné.

Další informace

Modul kódu formuláře může obsahovat více tříd. Když projektu je sestaven, sestavení systému musíte rozhodnout, která třída by měla pomocí Vytvořte soubor s příponou Resources. Návrh systému sestavení projektu určuje že první třídou v modulu kódu je třída, na kterém s příponou Resources. soubor založen. Soubor s příponou Resources je pojmenován podle třídy, nikoli název formuláře. Ve většině případů se tyto dva názvy jsou stejné. Avšak pokud Tyto názvy se liší, zobrazí se chybová zpráva, která je uvedena v "Příznaky".

Při načítání formuláře za běhu InitializeComponent metoda může mít získat objektů ze souboru s příponou Resources. InitializeComponent hledá Form_Names příponou Resources. soubor v sestavení. Protože počáteční Form_Namesoubor s příponou Resources nebyl nikdy vytvořen nebo propojené k sestavení selže pokus o načtení souboru s příponou Resources.

Kroky pro reprodukci tohoto chování

  1. V jazyce Visual Basic vytvořte projekt aplikace systému Windows.ČISTÁ nebo Visual Basic 2005 Visual C#.NET nebo Visual J#.NET. Ve výchozím nastavení je vytvořen formulář Form1.Poznámka: V aplikaci Visual Studio 2005 zobrazí se následující upozornění:
    V režimu lokalizace nelze přidávat součásti. Vyberte vlastnost jazyka vrátit do výchozího formuláře a přidání komponenty (výchozí).
    Poznámka: Je nutné změnit kód v jazyce Visual Basic 2005. Ve výchozím nastavení vytvoří aplikace Visual Basic dva soubory projektu při vytvoření projektu model Windows Forms. Pokud formulář pojmenován Formulář1, dva soubory, které představují formuláře jsou pojmenovány, Form1.vb a Form1.Designer.vb. Píšete kód v souboru Form1.vb. Návrhář model Windows Forms zapíše kód v souboru Form1.Designer.vb. Návrhář model Windows Forms používá klíčové slovo částečné provádění formulář1 rozdělit do dvou samostatných souborů. Toto chování zabrání je proloženo kódu generovaném kódu.

    Další informace o nová vylepšení jazyka Visual Basic 2005 naleznete na webu Microsoft Developer Network (MSDN):
    http://msdn2.microsoft.com/en-us/library/ms379584 (vs.80) .aspx
    Další informace o částečné třídy a Návrhář model Windows Forms naleznete na webu MSDN:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. Přidat Seznam obrázků řízení do formuláře Form1.
  3. Přidat soubor ikony Seznam obrázků ovládací prvek.
  4. V modulu kódu formulář1, přidejte následující kód před definice formulář1: Visual Basic.NET:
    Public Class someClass
    End Class
    					
    Visual C#.NET a Visual J#.NET:
    public class someClass
    {
    }
    					
  5. Vytvořte projekt. Všimněte si, že sestavení projektu úspěšně.
  6. Spuštění projektu. Všimněte si, že se zobrazí chybová zpráva který je uveden v části "Příznaky".

Vlastnosti

ID článku: 318603 - Poslední aktualizace: 19. května 2011 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbvs2005applies kbvs2005swept kbprb kbmt KB318603 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:318603

Dejte nám zpětnou vazbu

 

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