Hromadné vygenerování lokálních resources   otázka

ASP.NET WebForms

Snažím se vyřešit problém, jak hromadně vygenerovat lokální resources v celé webové aplikaci. Jediný způsob, který Visual Studio nabízí je každý ASPX a ASCX jednotlivě otevřít, přepnout do design pohledu a v menu zvolit Tools > Generate Local Resource.

Jak tuto operaci provést hromadně po všechny soubory?

Zkoušel jsem na to napsat makro, ale makra se mi ve Visual Studiu chovajé velmi podivně: zobrazují se různé COM chyby v messageboxu, které nevyhazují vyjímky, takže není možné je v makru odchytit. Když dám v makru přepnutí na design zobrazení, tak se zobrazí "Loading Master Page..." a stránka se do skončení makra nenačte apod.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No, mohlo by fungovat, že si nahrajete makro, a to pak spustíte pro všechny soubory v projektu.

Dejte Ctrl-Shift-R, udělejte to pro jeden soubor, pak nahrávání stopněte, otevřete si Macro IDE a obalte to For cyklem, který proleze všechny soubory v daném projektu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

To jsem právě zkoušel a to nahrané makro bylo nefunkční. Nicméně se mi jej podařilo upravit, takže nyní celkem (většinou) funguje na ASCX a na stránkách, které nemají MasterPage. Pokud má stránka MasterPage, tak se po příkazu:

DTE.ExecuteCommand("View.ViewDesigner")

Zobrazí bílá stránka, kde je text "Loading Master Page..." a nic dalšího se neděje. V tomto stavu není dostupný příkaz "Tools.GenerateLocalResource". Dostupnost lze otestovat v kódu:

If (DTE.Commands.Item("Tools.GenerateLocalResource").IsAvailable) Then

Tato podmínka vrací false a nepřišel jsem na to, jak donutit Visual Studio, aby dokončilo načítání Master Page. Stane se tak až po doběhnutí makra.

Pokud příkaz i přes jeho nedostupnost zkusím zavolat:

DTE.ExecuteCommand("Tools.GenerateLocalResource")

Tak se zobrazí chyba: Volání součásti COM vrátilo chybu HRESULT E_FAIL.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback