RSS registrovat login
Navigace: předchozí stranaúvodní strana
Story: jak jsem upgradoval z VS2003 do VS2005

Úvod
Po delší době jsem se vrátil k jednomu projektu psaném ve VS2003 (pokud náhodou někdo tuto zkratku ještě neviděl, tak to je Visual Studio od MS) - konkrétně add-in do Excelu. Add-in je něco na způsob COM objektů, takže můžete z Excelu, ale oběcně asi z jakékoliv aplikace, používat třídy, které si napíšete v jiném jazyce a jiném vývojovém prostředí - např. práve ve VS v C#. Jelikož VBA a Basic obecně nepovažuji za příliš použitelný jazyk, tak píšu v C# všechno, co je alespoň trochu možné. I tak jsem musel plno věcí udělat přímo v tom VBA.

To jsem ale trochu odbočil od původního problému. Zkrátka ten náš Projekt byl psaný ve VS2003 a potřeboval jsem v něm provést nějaké změny. Dospěl jsem k názoru, že celeron skutečně není úplně ideální procesor a tak jsem sbalil jedno nevyužívané pc, tentokráte s plnou verzí Pentia 4. Tady překvapivě chybělo VS, tak jsem se rozhodl tam dát VS2003, kde mi všechno fungovalo víceméně bez problému. Po asi 15 minutách hledání jsem zjistil, že máme akorát VS2002 a VS2005 (a pak asi 50 dalších DVD s různými věcmi od MSDN, VS2003 jsem ale nenašel), tak jsem nainstaloval VS2005, takže nakonec jsem měl na PC 3 verze frameworku (1.0, 1.1 a 2.0). Nebojte, už se pomalu dostáváme k vlastnímu problému :-).

Problém ?
Přímo otevřít starý projekt z VS2003 samozřejmě nešlo a vyskočil jakýsi převaděč. Zní to neuvěřitelně, ale projekt to převedlo bez chyby a bez potřeby cokoliv upravovat v kódu - že to vyhodilo asi 50 warningů/hintů raději říkat nebudu :-). Zábava začala, když jsem se snažil ten addin spustit a debugovat - funguje to tak, že se spustí Excel a když se volají metody té vaší třídy, tak to odchytí debugger z VS a můžete to krokovat jako normální aplikaci. Totiž tak to má fungovat, ale místo toho na mě vyskočila úžasná hláška


Unable to start debugging. Check for one of the following.


1. The application you are trying to debug uses a version of the Microsoft .NET Framework that is not supported by the debugger.

2. The debugger has made an incorrect assumption about the Microsoft .NET Framework version your application is going to use.

3. The Microsoft .NET Framework version specified by you for debugging is incorrect.

Please see the Visual Studio .NET debugger documentation for correctly specifying the Microsoft .NET Framework version your application is going to use for debugging.


Tahle zpráva mi moc neřekla, prolezl jsem všechna možná nastavení, zkusil jsem i přítele na telefonu (teda spíš mailu), který mi poradil, že si mám v projektu nastavit, jakou verzi FW to má používat. Nevím, jak na to přišel, ale tohle nastavení jsem tam nikde nenašel ani u normální desktop aplikace :-).

Řešení !

Nakonec se po půl dni hledávání nadávek a informací na webu objevilo prosté řešení - stačí říct Excelu, jakou verzi FW má použít - zní to blbě, když excel nepoužívá .NET, ale to asi ten debugger neví. Takže jsem vzal z adresáře s frameworkem (pro připomenutí, je to v C:\WINDOWS\Microsoft.NET\Framework\(cislo_verze_fw)) nějaký konfigurační soubor (takové to aplikace.exe.config), udělal z toho excel.exe.config a hodil to do adresáře s excelem. A tím je to vyřešeno, pustit to jde a debugovat také. V tom souboru je v podstatě důležitá akorát verze FW, tam jsem nechal tu 1.1.4 nebo kolik to je, s 2.0 to nefungovalo - hodilo to zase jinou žertovnou hlášku, ale to mě už netrápí.

Informace ke stavu builder.cz zde


vytvořil Mi.Chal. 19.7. 2006 22:41, naposledy změněnil Mi.Chal. 19.7. 2006 22:44
přečteno: 5566x

Komentáře:
Žádné komentáře dosud nebyly vloženy.

Přidat komentář:
Jméno
E-mail
Web
Titulek
Obsah
thomas sabo rea mbt outlet thomas sabo charms sale louis vuitton taschen kaufen thomas sabo boutique mbt kaufen