Department of InformatiX
Microsoft .NET Micro Framework Tools & Resources

Nejenže průvodce není schopen zkonvertovat vaše 2.x projekty, ale nelze je vůbec ve Visual Studiu otevřít. Pojďme se podívat, jak se vyhnout vytváření zcela nového projektu.

Ruční upgrade

Soubory projektů

Aby bylo možné projekty alespoň otevřít, stačí na to malé textové úpravy:

  1. Najděte soubor s projektem (má příponu .csproj)
  2. Otevřete jej v Poznámkovém bloku (nebo vašem oblíbeném textovém editoru). V Exploreru je možné kliknout na soubor pravým tlačítkem a vybrat Otevřít v programu.... Pokud se jedná o podmenu a vidíte v něm Poznámkový blok, klikněte na něj a pokračujte dalším bodem. Pokud se jedná o podmenu a žádný Poznámkový blok tam není, vyberte Zvolit výchozí program.... Měl by se vám objevit dialog Otevřít v programu. Rozbalte skupinu Další programy a vyberte Poznámkový blok. Nenechávejte zaškrtnuto K otevření souborů tohoto typu vždy použít vybraný program.
    Dialog Otevřít v programu (obrázek od Vládíka)
  3. Uvidíte XML, asi takovéto:
    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <AssemblyName>Sebi's Game</AssemblyName> <OutputType>Exe</OutputType> <RootNamespace>SPŠST.DMP.SebisGame</RootNamespace> <ProjectTypeGuids>{b69e392-b931-443c-abe7-7e7b65f2a37f};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{0530A5AA-3097-41A5-A77A-C84365B55E4C} </ProjectGuid> <TinyCLR_ClientOnly>true</TinyCLR_ClientOnly> <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> </PropertyGroup> ...
  4. Je třeba udělat dvě změny: prvku Project přidat atribut ToolsVersion="3.5", a hodnotu TargetFrameworkVersion změnit na v3.0. Takže výsledné XML by mělo vypadat nějak takto:
    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> <PropertyGroup> <AssemblyName>Sebi's Game</AssemblyName> <OutputType>Exe</OutputType> <RootNamespace>SPŠST.DMP.SebisGame</RootNamespace> <ProjectTypeGuids>{b69e392-b931-443c-abe7-7e7b65f2a37f};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{0530A5AA-3097-41A5-A77A-C84365B55E4C} </ProjectGuid> <TinyCLR_ClientOnly>true</TinyCLR_ClientOnly> <TargetFrameworkVersion>v3.0</TargetFrameworkVersion> </PropertyGroup> ...
  5. A to je vše! Soubor uložte, a můžete jej bez problémů otevřít ve Visual Studiu 2008. O žádnou konverzi se už pokoušet nebude.
  6. Nyní zbývá zkontrolovat change log a odpovídajícím způsobem upravit kód. Možná bude také třeba smazat, přidat nebo opravit některé odkazy na assembly.

Soubory solution

Pokud používáte solutions, Visual Studio je stále bude chtít zkonvertovat, i když po předchozí úpravě se mu to již podaří. Pokud si chcete ušetřit i tento krok, postupujte následovně:

Otevřete .sln soubor v Poznámkovém bloku (nebo vašem oblíbeném textovém editoru) stejně jako v předchozím případě. Tentokrát se jedná a o čistý text, který začíná těmito řádky:
  Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005

Stačí drobná úprava:
Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008

(odstraňte také případné prázdné řádky na začátku souboru) a soubor uložte.

Nyní by měl mít ikonku s devítkou v rámečku, a otevření by již mělo proběhnout beze snah o konverze.

Upgrade utilitka

Přestože je ruční upgrade hračkou, může to být zdlouhavá práce, zejména pokud máte ke konverzi více projektů. Snad vám pomůže tento malý prográmek (ZIP, 35 kB), na který můžete přetáhnout několik souborů, ať už projektových nebo solution. Prográmek provede výše uvedené úpravy automatizovaně i na všech projektech uvedené v solution.

Dále pak projde všechny soubory v projektech, a pokusí se o tyto úpravy:

Upravované soubory jsou zálohovány.

Comments
Comment Eric T. 25.01.2016 23:26:33
Your project type Guids are wrong, they're missing a 0 in the first segment. The correct ProjectGuids is b69e3092-b931-443c-abe7-7e7b65f2a37f
Sign in using Live ID to be able to post comments.