Transformacja VS2008 -> VS2005 i kilka pytań

0

Mam projekt zrealizowany w Visual Studio 2008, a chciałbym przetransformować do Visual Studio 2005.

Założenia:

  • Mam dostęp do dwóch komputerów, jeden z Visual Studio 2008, drugi z Visual Studio 2005
  • Projekt z Visual Studio nie wykorzystuje jakichkolwiek mechanizmów ani bibliotek, których nie ma w Visual Studio 2005 oraz w .NET 2.0, do takich mechanizmów należy między innymi LINQ.

Słyszałem, że można tego dokonać bez przepisywania kodu, ale trzeba trochę kombinować. W jaki sposób to się robi?

Poza tym mam kilka pytań:

Wydaje mi się, że Visual Studio 2005 zapewnia większą kompatybilność chociażby z kilku powodów:

  • Kompilator da się uruchomić na Windows 2000, w tym systemie nie udało mi się zainstalować VS2008
  • .NET 2.0 da się zainstalować na wszystkich 32-bitowych wersjach Windows (sprawdzałem na 98, 2000 i XP), co pozwala odpalać programy również na starszych laptopach, w przypadku .NET 3.5 musi być co najmniej Windows 2000 z SP4
  • projekt Mono w zakresie obsługi .NET 2.0 jest na tyle dopracowany, że można traktować go jako niemalze zamiennik .NET, czego nie można powiedzieć o kompatybilności z .NET 3.5

Natomiast każdy projekt mozna napisać w .NET 2.0, przykładowo LINQ jest mechanizmem do obsługi bazy danych, ale bazę danych można obsłużyć na inne sposoby, dostępne w .NET 2.0.

Poza tym wydaje mi się, że Visual Studio 2005 zajmuje mniej miejsca i trochę sprawniej dziala niz Visual Studio 2008.

W takim razie pytania:

  • Czy to, co napisałem powyżej to prawda?
  • Mam Visual Studio 2005, mozliwości tego pakietu i możliwości .NET 2.0 są w zupełności wystarczające na moje potrzeby. Czy warto przechodzić na Visual Studio 2008? Jeżeli tak, to dlaczego?

Kiedyś, na potrzeby zrealizowania projektu w Silverlight do uczelni, musiałem skombinować na szybko środowisko umozliwiające stworzenie projektu. Zainstalowałem Ms VirtualPC, a w nim Windows XP Pro, Visual Studio 2008 (na 2005 nie udało mi się), potem jakiś SP1 do tego, potem jeszcze biblioteki do Silverlight. Dopiero potem mogłem realizować projekt w Silverlight.

Dziwny w tym wszystkim jest fakt, że to, co jest niezbednym minimum do pracy Silverlight (Windows XP, VS2008, Silverlight) zajęło aż 10GB (sprawdzane wewnątrz VirtualPC). Wydaje mi się, że to jest zdecydowanie za dużo. Na moje wyczucie to powinno być max. 5-7GB. Wiem, że dzisiaj można kupić dysk 1TB, ale z drugiej strony nie po to produkuje się ogromne dyski, zeby miejsce zajmować śmieciami, bez których program też może działać.

Czy zajęcie 10GB w tym przypadku jest normą, czy coś źle wtedy zainstalowałem?

0

vs2008 = .net 3.0/3.5, a to == .net 2.0 + kilka bibliotek + plus troche nowej skladni.

dllki ktrore skompilujesz pod 2008 skompiluja sie i odpala sie na .net20 pod warunkiem ze nie uzyjesz tych nowych.. nowa skladnie i tak bedziesz musial przepisac - linq, extension methods i itd, nie przeskoczysz.

10g? hm.. 1-2.5g na winxp plus sp1, 1g na .net, 2-6gb na .net (z msdn czy bez?), a skoro to VM, to dolicz do tego jej jakis freespace na jej virt.hdd i 10g moze sie uzbierac..

vs2008 vs. vs2005 - szczerze, 2008 szybciej pracuje, jest stabilniejsze, nowa skladnia dorzucona w .net3.5 jest bardzo przydatna.. nie wiem co Ci sie w nim nie podoba. to ze .net3.5 nie zainstalujesz na w2000? erm. a wiesz ze w2000 juz nie jest wspierany? tak jak w98 czy w95? chyba nie zakladasz ze musisz caly czas ogladac sie do tylu i pilnowac czy aby ktorys z Twoich uzytkownikow nie jest jednym z tych maniakow, ktorzy caly czas sadza ze Win95 jest the best? ja takich znam... XP coz.. jemu na dobra sprawe tez juz sie okres zycia konczy.. vista/seven sa nieuniknione, w koncu bedziesz musial przejsc na nowe, wazace wiecej, bardziej kolorowe windowsy i visualstudio. czemu nie juz teraz?

co do 1tb -- kiedys Gates powiedzial, ze msdos dostarcza 640kb lowmen -- po co komu wiecej, przeciez to wszystkim wystarczy.. :)))

//edit: 2-6gb na vs, nie na drugi .net oczywiscie..

0
andrzejlisek napisał(a)

Słyszałem, że można tego dokonać bez przepisywania kodu, ale trzeba trochę kombinować. W jaki sposób to się robi?

Można ręcznie - to taki mniej więcej algorytm:

Plik *.sln:
w pierwszej linijka zamienić:
Microsoft Visual Studio Solution File, Format Version 10.00
na:
Microsoft Visual Studio Solution File, Format Version 9.00

w drugiej linijce:
# Visual Studio 2008
na
# Visual Studio 2005

Plik *.csproj:
Usuwamy pierwszą linijkę:
<?xml version="1.0" encoding="utf-8"?>

Z drugiej usuwamy:
ToolsVersion="3.5"

Następnie zamieniamy:
<ProductVersion>9.0.21022</ProductVersion>
na:
<ProductVersion>8.0.50727</ProductVersion>

Usuwamy też:
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>

Pod koniec pliku zamieniamy:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
na:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

andrzejlisek napisał(a)

Wydaje mi się, że Visual Studio 2005 zapewnia większą kompatybilność chociażby z kilku powodów:

  • Kompilator da się uruchomić na Windows 2000, w tym systemie nie udało mi się zainstalować VS2008
  • .NET 2.0 da się zainstalować na wszystkich 32-bitowych wersjach Windows (sprawdzałem na 98, 2000 i XP), co pozwala odpalać programy również na starszych laptopach, w przypadku .NET 3.5 musi być co najmniej Windows 2000 z SP4
  • projekt Mono w zakresie obsługi .NET 2.0 jest na tyle dopracowany, że można traktować go jako niemalze zamiennik .NET, czego nie można powiedzieć o kompatybilności z .NET 3.5

Kompilator CSC jest związany z Frameworkiem i od niego zależy. .NET 3.5 daje się instalować na następujących systemach:

M$ napisał(a)

Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP

Visual Studio i .NET Framework to nie jest to samo!

Jeśli przeszkadza Ci, że Mono nie obsługuje 3.5, to im pomóż :) Mi szczerze mówiąc to koło tyłka lata ;]

andrzejlisek napisał(a)

Natomiast każdy projekt mozna napisać w .NET 2.0, przykładowo LINQ jest mechanizmem do obsługi bazy danych, ale bazę danych można obsłużyć na inne sposoby, dostępne w .NET 2.0.

LINQ jest mechanizmem do operowania na grupach obiektów. Fakt, że przy okazji można w nim obsługiwać bazy danych. Skoro wolisz korzystać z ADO.NET, to korzystaj, moim zdaniem LINQ to SQL jest wygodniejszy.

0
andrzejlisek napisał(a)

Mam projekt zrealizowany w Visual Studio 2008, a chciałbym przetransformować do Visual Studio 2005.
Słyszałem, że można tego dokonać bez przepisywania kodu, ale trzeba trochę kombinować. W jaki sposób to się robi?

Oprócz zmian o jakich wspomniał somekind możesz po prostu stworzyć pod VS2005 nową solucję, nowy/e projekt/y i podlinkować do nich pliki źródłowe .cs. Oczywiście przy tym zabiegu będziesz musiał na nowo pospinać references, properties itp. Ale daje to możliwość względnie równoległej pracy z obu środowisk.

Jeśli zaś chodzi o wybór visuala, to zdecydowanie polecam 2008. Wygląda i smakuje jak 2005, nie ma zbędnych i uciążliwych dodatków, a daje nowe możliwości. Jak choćby LINQ to objects (nie tylko sql), czy też designer WPF.

andrzejlisek napisał(a)

zajęło aż 10GB (sprawdzane wewnątrz VirtualPC). Wydaje mi się, że to jest zdecydowanie za dużo. Na moje wyczucie to powinno być max. 5-7GB.

To ciekawe... na czym opierasz te wyliczenia? I jaka jest w dzisiejszych czasach różnica między 7GB a 10GB?

0

W VS2008 fajna jest integracja z testami jednostkowymi, nie trzeba już używać zewnętrznych narzędzi.

No i te nowsze technologie, chyba nie chodzą na 2005, jak np. Silverlight 2.0 czy MVC Framework.

1 użytkowników online, w tym zalogowanych: 0, gości: 1