Uaktualnianie i migracja rozwiązań pakietu Office, cz.I
Projekt pakietu Microsoft Office utworzony we wcześniejszej wersji programu Visual Studio należy uaktualnić, aby możliwe było jego używanie w programie Visual Studio 2010. Aby uaktualnić projekt pakietu Microsoft Office, należy go otworzyć w programie Visual Studio 2010, który zawiera narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji na temat procesu uaktualniania, zobacz artykuł Sposób postępowania: Uaktualnianie rozwiązań pakietu Office. Aby uzyskać więcej informacji na temat wersji programu Visual Studio 2010, które zawierają narzędzia deweloperskie pakietu Microsoft Office, zobacz artykuł Konfiguracja komputera w celu opracowania rozwiązań pakietu Office .
Podczas uaktualniania projektu pakietu Microsoft Office program Visual Studio wprowadza do projektu kilka zmian. Niektóre zmiany zależą od wersji platformy .NET Framework oraz pakietu Microsoft Office zainstalowanych na komputerze projektowym oraz tego, czy jest to projekt na poziomie dokumentu czy na poziomie aplikacji.
W dowolnym momencie można także zmienić platformę docelową projektów Office z .NET Framework 3.5 do .NET Framework 4 lub na odwrót. Aby uzyskać więcej informacji, zobacz artykuł Sposób postępowania: Zwracanie się do określonej wersji lub profilu .NET Framework . W przypadku zmiany platformy docelowej do uruchomienia zmienionego rozwiązania wymagane są dodatkowe czynności wykonywane na komputerze projektowym i komputerze użytkownika. Ponadto projekt korzystający z określonych funkcji nie zostanie już skompilowany. Aby uzyskać więcej informacji, zobacz artykuł Migracja rozwiązań pakietu Office do platformy .NET Framework 4.
| Uwaga |
| W programie Visual Studio 2010 nie można uaktualnić projektów szablonu formularza InfoPath utworzonych przy użyciu poprzednich wersji programu Visual Studio. Tego typu projekty nie są obsługiwane w programie Visual Studio 2010. |
Obsługiwane wersje uaktualnień projektu
Można dokonać uaktualnienia projektów pakietu Microsoft Office utworzonych za pomocą dowolnej z poniższych wersji systemu Visual Studio Tools dla pakietu Office:
- Narzędzi programu Microsoft Visual Studio 2005 dla systemu Microsoft Office.
- Narzędzi programu Microsoft Visual Studio 2005 dla systemu Microsoft Office 2007 (VSTO 2005 SE).
- Narzędzi programu Microsoft Visual Studio dla systemu Microsoft Office (wersja 3.0). Ta wersja narzędzi Visual Studio Tools dla pakietu Office została dołączona do programu Visual Studio 2008.
| Uwaga |
| Program Visual Studio 2010 nie obsługuje uaktualniania projektów pakietu Microsoft Office utworzonych za pomocą narzędzi Visual Studio Tools dla pakietu Office, wersja 2003. |
| Uwaga |
| Narzędzia Visual Studio Tools dla pakietu Office była to nazwa narzędzi deweloperskich Microsoft Office w poprzednich wersjach narzędzi Visual Studio. |
Zmiany w uaktualnionych projektach
Podczas uaktualniania projektu pakietu Microsoft Office program Visual Studio wprowadza do projektu następujące zmiany:
- Aktualizuje wersję środowiska wykonawczego narzędzi Visual Studio Tools dla pakietu Office, do której zwraca się projekt, do środowiska wykonawczego narzędzi Visual Studio 2010 Tools dla pakietu Office.
Aby uzyskać więcej informacji na temat środowiska wykonawczego narzędzi Visual Studio Tools dla pakietu Office, zobacz temat Przegląd środowiska wykonawczego narzędzi Visual Studio Tools dla pakietu Office .
- W razie potrzeby aktualizuje wersję platformy .NET Framework, do której zwraca się projekt.
- Aktualizuje odwołania do zestawów w projekcie.
- Modyfikuje projekt, aby zwracał się on do wersji pakietu Microsoft Office zainstalowanej na komputerze projektowym (system Microsoft Office 2010 lub system Microsoft Office 2007), jeśli projekt oryginalny zwracał się do wcześniejszej wersji pakietu Microsoft Office 2007. Jeśli żadna wersja pakietu Microsoft Office nie została zainstalowana, uaktualniony projekt zwraca się do pakietu Microsoft Office 2007.
Wskazywana platforma .NET Framework
Po uaktualnieniu projektu Visual Studio Tools dla pakietu Office w programie Visual Studio 2010 w określonych poniżej przypadkach program ten modyfikuje docelową platformę .NET Framework:
- Projekt oryginalny wskazuje platformę .NET Framework 2.0. W takim przypadku program Visual Studio modyfikuje projekt, aby zwracał się do platformy .NET Framework 3.5, o ile na komputerze projektowym zainstalowano platformy .NET Framework 3.5 i .NET Framework 4. Jeśli zainstalowana jest tylko platforma .NET Framework 4, program Visual Studio modyfikuje projekt, aby zwracał się do platformy .NET Framework 4.
- Projekt zwraca się do platformy .NET Framework 3.5, ale na komputerze projektowym jest zainstalowana tylko platforma .NET Framework 4. W takim przypadku program Visual Studio modyfikuje projekt, aby zwracał się do platformy .NET Framework 4.
Jeśli projekt już zwraca się do platformy .NET Framework 3.5, program Visual Studio nie zaktualizuje platformy docelowej w uaktualnionym projekcie, jeśli platforma .NET Framework 3.5 jest również zainstalowana na komputerze projektowym.
| Uwaga |
| Jeśli platforma docelowa zostanie zmieniona przez program Visual Studio do wersji platformy .NET Framework 4, w celu uruchomienia zmienionego rozwiązania wymagane są dodatkowe czynności wykonywane na komputerze projektowym i komputerze użytkownika. Ponadto projekt korzystający z określonych funkcji nie zostanie już skompilowany. Aby uzyskać więcej informacji, zobacz artykuł Migracja rozwiązań pakietu Office do platformy .NET Framework 4. |
W poniższej tabeli zamieszczono podsumowanie zmian platformy docelowej w uaktualnionych projektach.
| Platforma docelowa projektu oryginalnego | Wersje platformy na komputerze projektowym | Platforma docelowa projektu uaktualnionego |
|
.NET Framework 2.0 .NET Framework 3.5 |
.NET Framework 3.5 i .NET Framework 4 |
.NET Framework 3.5 Uwaga Jeśli projekt oryginalny zwraca się do platformy .NET Framework 3.5. Client Profile, uaktualniony projekt zwraca się do platformy .NET Framework 3.5. |
|
.NET Framework 2.0 .NET Framework 3.5 |
.NET Framework 4 |
.NET Framework 4 Uwaga Jeśli projekt oryginalny zwraca się do platformy .NET Framework 3.5. Client Profile, uaktualniony projekt zwraca się do platformy .NET Framework 4 Client Profile. |
Jeśli w projekcie Office występuje odwołanie do platformy .NET Framework 4, można korzystać z określonych funkcji, które są niedostępne w przypadku platformy .NET Framework 3.5. Aby uzyskać więcej informacji, zobacz artykuł Projektowanie i tworzenie rozwiązań pakietu Office .
Odwołania do zestawów
Program Visual Studio aktualizuje następujące odwołania do zestawów w projekcie:
- Podstawowe zestawy międzyoperacyjne pakietu Microsoft Office.
- Zestawy w środowisku wykonawczym narzędzi Visual Studio Tools dla pakietu Office. Aby uzyskać więcej informacji na temat tych zestawów, zobacz temat Przegląd środowiska wykonawczego narzędzi Visual Studio Tools dla pakietu Office .
- Nowe lub zaktualizowane wersje zestawów zależnych.
Program Visual Studio nie dodaje odwołań do nowych ani zaktualizowanych wersji zestawów dodanych do utworzonego już projektu oryginalnego. Przykładowo jeśli użytkownik wykona uaktualnienie projektu dodatku programu Word 2003 odwołującego się także do podstawowego zestawu międzyoperacyjnego PowerPoint 2003, to program Visual Studio modyfikuje uaktualniony projekt, aby odwoływał się on do podstawowego zestawu międzyoperacyjnego programu Word 2007 lub Word 2010. Jednakże należy ręcznie zaktualizować odniesienie do podstawowego zestawu międzyoperacyjnego programu PowerPoint.
Uaktualnianie projektów pakietu Microsoft Office 2003
Domyślnie jeśli na komputerze projektowym podczas uaktualniania projektu zwracającego się do programu Microsoft Office 2003 jest zainstalowany pakiet Microsoft Office 2010 lub pakiet Microsoft Office 2007, program Visual Studio modyfikuje projekt, aby zwracał się on do zainstalowanej wersji pakietu Microsoft Office. Jednak w przypadku dostosowań na poziomie dokumentu i dodatków na poziomie aplikacji należy wziąć pod uwagę kilka elementów.
Projekty na poziomie dokumentu
Aby uaktualnić projekt na poziomie dokumentu dla pakietu Microsoft Office 2003, na komputerze projektowym należy dysponować odpowiednimi zainstalowanymi pakietami Microsoft Office 2010 lub Microsoft Office 2007. Na przykład należy zainstalować program Word 2007 lub Word 2010, zanim możliwie będzie uaktualnienie projektu programu Word 2003.
Podczas uaktualniania projektu na poziomie dokumentu za pomocą dokumentu zapisywanego w formacie binarnym, użytkownik musi zdecydować, czy przekonwertować dokument do formatu Open XML, czy zachować dokument w formacie binarnym. Opcję Open XML należy wybrać, o ile nie występują określone powody dotyczące używania starszego formatu. Aby uzyskać więcej informacji na temat formatu Open XML, zobacz artykuł Wprowadzenie do nowych nazw rozszerzeń i formatów Open XML .
Projekty na poziomie aplikacji
Przed uaktualnieniem projektu na poziomie aplikacji należy się upewnić, że opcja Zawsze uaktualniaj do zainstalowanej wersji pakietu Office jest zaznaczona na stronie opcji Aktualizacja projektu. Jeśli ta opcja nie jest wybrana, program Visual Studio nie modyfikuje projektu, aby zwracał się on do pakietu Microsoft Office 2010 lub Microsoft Office 2007, a użytkownik nie będzie mógł opracowywać, debugować ani uruchamiać projektu. Aby uzyskać więcej informacji na temat tej opcji, zobacz Aktualizacja projektu, okno dialogowe Opcje .
Jeśli plik rozwiązania projektu oryginalnego zawierał projekt Instalatora, który został skonfigurowany w celu zainstalowania dodatku na poziomie aplikacji, program Visual Studio uaktualnia projekt Instalatora do projektu Visual Studio 2010, ale nie wprowadza do projektu dalszych zmian. Jeśli użytkownik nadal chce używać pliku Instalatora Windows do rozmieszczania dodatku, należy zmodyfikować projekt Instalatora w celu zainstalowania nowych wymagań wstępnych takich jak: platforma .NET Framework 4 lub .NET Framework 3.5, środowisko wykonawcze narzędzi Visual Studio Tools dla pakietu Office i opcjonalne podstawowe zestawy międzyoperacyjne odwołujące się do dodatku. Aby uzyskać więcej informacji, zobacz temat Wdrażanie rozwiązania pakietu Office za pomocą Instalatora Windows .
Aby używać funkcji ClickOnce do wdrażania dodatku, można całkowicie usunąć projekt Instalatora. Aby uzyskać więcej informacji na temat wdrażania, zobacz temat Wdrażanie rozwiązań pakietu Office .
Sposób postępowania: Uaktualnianie rozwiązań pakietu Office
Projekt pakietu Microsoft Office utworzony we wcześniejszej wersji programu Visual Studio zostanie uaktualniony automatycznie po otwarciu w programie Visual Studio 2010. Po uaktualnieniu projekt będzie działać tak samo jak w starszych wersjach programu Visual Studio.
Aby uzyskać więcej informacji na temat projektów pakietu Microsoft Office, które można uaktualnić, oraz określonych zmian wprowadzanych przez program Visual Studio w uaktualnionych projektach, zobacz sekcję Uaktualnianie i migracja rozwiązań pakietu Office.
Uaktualnianie projektu pakietu Microsoft Office
1. Otwórz istniejący projekt w wersji programu Visual Studio 2010, która zawiera narzędzia deweloperskie pakietu Microsoft Office. Aby uzyskać więcej informacji, zobacz artykuł Konfiguracja komputera w celu opracowania rozwiązań pakietu Office .
Zostanie wyświetlony Kreator konwersji Visual Studio.
2. Przeczytaj informacje i ostrzeżenia dostępne na pierwszym ekranie, a następnie kliknij przycisk Dalej.
3. Jeśli chcesz utworzyć kopię zapasową rozwiązania, wybierz opcję Tak, chcę utworzyć kopię bezpieczeństwa przed konwersją i określ lokalizację plików kopii zapasowej. Jeśli nie chcesz utworzyć kopii zapasowej, wybierz opcję Nie.
4. Kliknij przycisk Dalej.
5. Jeśli wszystkie opcje na stronie podsumowania są prawidłowe, kliknij przycisk Zakończ.
W przypadku uaktualniania projektu na poziomie dokumentu zostanie wyświetlone okno dialogowe Ustawienia uaktualniania dokumentu Microsoft Office.
6. W oknie dialogowym Ustawienia uaktualniania dokumentu Microsoft Office wybierz format pliku, który chcesz zastosować w uaktualnionym dokumencie, a następnie kliknij przycisk OK.
Aby uzyskać wskazówki na temat wyboru formatu pliku, zobacz artykuł Wprowadzenie do nowych nazw rozszerzeń i formatów Office XML.
| Uwaga |
| Jeśli wybierzesz opcję Nie pytaj ponownie, okno dialogowe Ustawienia uaktualniania dokumentu Microsoft Office nie pojawi się po następnym uruchomieniu Kreatora konwersji Visual Studio. Zamiast tego wybrany format dokumentu jest stosowany automatycznie do każdego projektu dostosowania na poziomie dokumentu, który jest uaktualniany. Aby ponownie wyświetlić okno dialogowe Ustawienia uaktualniania dokumentu Microsoft Office po uruchomieniu Kreatora konwersji Visual Studio lub zmienić domyślny format dokumentu, zobacz sekcję Aktualizacja projektu, okno dialogowe Opcje. |
7. Aby wyświetlić szczegóły stanu konwersji, kliknij przycisk Pokaż dziennik konwersji po zamknięciu kreatora.
8. Kliknij przycisk Zamknij.
To rozwiązanie otwiera się wraz z nowym projektem systemowym widocznym w Eksploratorze rozwiązań (Solution Explorer).
| Uwaga |
| Jeśli na komputerze projektowym nie zainstalowano platformy .NET Framework 3.5, program Visual Studio zmienia platformę docelową projektu na .NET Framework 4. Aby uzyskać więcej informacji, zobacz artykuł Uaktualnianie i migracja rozwiązań pakietu Office. W takim przypadku projekt korzystający z określonych funkcji nie zostanie już skompilowany. Należy naprawić błędy kompilacji poprzez zmianę kodu w projekcie. Aby uzyskać więcej informacji, zobacz artykuł Migracja rozwiązań pakietu Office do platformy .NET Framework 4. |
Migracja rozwiązań pakietu Office do platformy .NET Framework 4
Jeśli platforma docelowa projektu Office zostanie zmieniona z wcześniejszej wersji platformy .NET Framework do formatu platformy .NET Framework 4, w celu zapewnienia możliwości dalszego używania rozwiązania wymagane są dodatkowe czynności wykonywane na komputerze projektowym i komputerze użytkownika. Aby uzyskać więcej informacji, zobacz sekcję Zmiany wymagane do uruchamiania projektów Office w przypadku migracji do platformy .NET Framework 4.
Ponadto projekt może się już nie skompilować. Niektóre funkcje projektów Office zawierają różne modele programowania przeznaczone dla różnych wersji platformy .NET Framework. Gdy platforma docelowa projektu Office zostanie zmieniona z wcześniejszej wersji platformy .NET Framework do formatu platformy .NET Framework 4, na komputerze projektowym i komputerze użytkownika należy wprowadzić następujące zmiany kodu:
- Usunąć przestarzałe atrybuty z projektów pakietu Office poddawanych migracji do platformy .NET Framework 4
- Zaktualizować dostosowania wstążki w projektach pakietu Office poddawanych migracji do platformy .NET Framework 4
- Zaktualizować regiony formularza w projektach programu Outlook poddawanych migracji do platformy .NET Framework 4
- Zaktualizować projekty programów Excel i Word poddawane migracji do platformy .NET Framework 4
Struktura docelowa projektu pakietu Office może ulec zmianie w poniższych scenariuszach:
- Użytkownik modyfikuje ustawienia projektu w celu zmiany platformy docelowej z platformy .NET Framework 3.5 do .NET Framework 4. Aby uzyskać więcej informacji, zobacz artykuł Sposób postępowania: Zwracanie się do określonej wersji lub profilu .NET Framework .
- Użytkownik uaktualnia projekt programu Office z wcześniejszej wersji programu Visual Studio oraz zmienia platformę docelową na platformę .NET Framework 4, ponieważ platforma .NET Framework 3.5 nie jest zainstalowana na komputerze projektowym. Aby uzyskać więcej informacji, zobacz artykuł Uaktualnianie i migracja rozwiązań pakietu Office.
Zmiany wymagane do uruchamiania projektów Office w przypadku migracji do platformy .NET Framework 4
Jeśli platforma docelowa projektu Office zostanie zmieniona do formatu platformy .NET Framework 4 z wcześniejszej wersji platformy .NET Framework, wymagane może być użycie polecenia Wyczyść pozwalającego na dalsze uruchamianie lub debugowanie projektu na komputerze projektowym; w przypadku użytkowników końcowych może być wymagane ponowne zainstalowanie opublikowanego później rozwiązania.
· Wykonywanie polecenia Wyczyść
Jeśli projekt jest tworzony, zanim platforma docelowa zostanie zmieniona z wcześniejszej wersji platformy .NET Framework do formatu platformy .NET Framework 4, należy wykonać polecenie Wyczyść, a następnie ponownie utworzyć projekt, zanim można będzie go debugować lub uruchamiać na komputerze projektowym. Jeśli polecenie Wyczyść nie zostanie wykonane, podczas próby debugowania lub uruchamiania przekierowanego projektu zostanie wyświetlony wyjątek COMException.
Aby uzyskać więcej informacji na temat polecenia Wyczyść, zobacz artykuł Omówienie procesu tworzenia rozwiązania pakietu Office .
· Aktualizowanie wymagań wstępnych wdrożenia
Po przekierowaniu rozwiązania pakietu Office do platformy .NET Framework 4 należy zaktualizować również odpowiednie wymaganie wstępne platformy .NET Framework dostępne w oknie dialogowym Wymagania wstępne. W przeciwnym razie wdrożenie funkcji ClickOnce lub projektu instalacji Instalatora Windows sprawdza obecność poprzedniej wersji platformy .NET Framework i instaluje ją. Aby uzyskać więcej informacji na temat aktualizowania wymagań wstępnych wdrożenia na komputerach użytkowników końcowych, zobacz artykuł Sposób postępowania: Wymagania wstępne instalacji wykonywanej na komputerach użytkowników końcowych umożliwiające uruchamianie rozwiązań pakietu Office .
· Ponowne instalowanie rozwiązań na komputerach użytkowników końcowych
Aby za pomocą funkcji ClickOnce wdrożyć rozwiązanie pakietu Office zwracającego się do platformy .NET Framework 3.5 i przekierować rozwiązanie do platformy .NET Framework 4, użytkownicy końcowi muszą odinstalować rozwiązanie, a następnie zainstalować je ponownie po opublikowaniu. Jeśli przekierowane rozwiązanie zostanie ponownie opublikowane po zaktualizowaniu na komputerach użytkowników końcowych, to w przypadku uruchomienia tego rozwiązania na tych komputerach zostanie wyświetlony wyjątek COMException.
Aby uzyskać więcej informacji na temat odinstalowania rozwiązań, zobacz artykuł Sposób postępowania: Odinstalowywanie rozwiązania ClickOnce Office .
Usuwanie przestarzałych atrybutów z projektów pakietu Office poddawanych migracji do platformy .NET Framework 4
Gdy platforma docelowa projektu Office zostanie zmieniona do formatu platformy .NET Framework 4, w następujących scenariuszach z projektów należy usunąć przestarzałe atrybuty:
- Użytkownik uaktualnia projekt pakietu Office z wersji programu Visual Studio 2008. W takim wypadku należy usunąć atrybut SecurityTransparentAttribute.
- Użytkownik zmienia platformę docelową projektu programu Excel. W takim wypadku należy usunąć atrybut Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute.
Program Visual Studio nie usuwa automatycznie tych atrybutów, gdy platforma docelowa zostaje zmieniona.
1. Usuwanie atrybutu SecurityTransparent z projektów pakietu Office uaktualnianych z wersji programu Visual Studio2008
W przypadku uaktualniania projektu pakietu Office z wersji programu Visual Studio 2008 i zmieniania platformy docelowej projektu na platformę .NET Framework 4 z projektu należy usunąć atrybut SecurityTransparentAttribute. Aby uzyskać więcej informacji na temat warunków, kiedy program Visual Studio może zmieniać platformę docelową uaktualnionego projektu na platformę .NET Framework 4, zobacz artykuł Uaktualnianie i migracja rozwiązań pakietu Office.
Usuwanie atrybutu SecurityTransparentAttribute
1. Po otwarciu projektu w programie Visual Studio otwórz Eksplorator rozwiązań (Solution Explorer) .
2. W węźle Właściwości (C#) lub Mój projekt (Visual Basic) kliknij dwukrotnie plik kodu AssemblyInfo, aby otworzyć go w edytorze kodu.
| Uwaga |
| Aby wyświetlić pliku kod AssemblyInfo w projektach Visual Basic, należy kliknąć przycisk Pokaż wszystkie pliki dostępny w Eksploratorze rozwiązań (Solution Explorer). |
3. Zlokalizuj atrybut SecurityTransparentAttribute i usuń go z pliku lub opatrz go komentarzem.
Visual Basic
<Assembly: SecurityTransparent()>
C#
[assembly: SecurityTransparent()]
2. Usuwanie atrybutu ExcelLocale1033 z projektów programu Excel
* Jeśli platforma docelowa projektu programu Excel zostanie zmieniona na platformę .NET Framework 4, z projektów należy usunąć atrybut Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute. Atrybut ten został usunięty z części środowiska wykonawczego narzędzi Visual Studio Tools dla pakietu Office używanego w przypadku rozwiązań zwracających się do platformy .NET Framework 4. Aparat plików wykonywalnych języka wspólnego (CLR) w platformie .NET Framework 4 zawsze przekazuje identyfikator ustawień regionalnych 1033 do modelu obiektu programu Excel i za pomocą tego atrybutu już nie można wyłączyć tego zachowania. Aby uzyskać więcej informacji, zobacz artykuł Formatowanie danych w programie Excel za pomocą różnych ustawień regionalnych .
Usuwanie atrybutu ExcelLocale1033Attribute
1. Po otwarciu projektu w programie Visual Studio otwórz Eksplorator rozwiązań (Solution Explorer) .
2. W węźle Właściwości (C#) lub Mój projekt (Visual Basic) kliknij dwukrotnie plik kodu AssemblyInfo, aby otworzyć go w edytorze kodu.
| Uwaga |
| Aby wyświetlić pliku kod AssemblyInfo w projektach Visual Basic, należy kliknąć przycisk Pokaż wszystkie pliki dostępny w Eksploratorze rozwiązań (Solution Explorer). |
3. Zlokalizuj atrybut Microsoft.Office.Tools.Excel.ExcelLocale1033Attribute i usuń go z pliku lub opatrz go komentarzem.
Visual Basic
<Assembly: ExcelLocale1033Proxy(True)>
C#
[assembly: ExcelLocale1033Proxy(true)]
Aktualizowanie dostosowań wstążki w projektach pakietu Office poddawanych migracji do platformy .NET Framework 4
Jeśli projekt zawiera dostosowywanie wstążki, które zostało utworzone przy użyciu elementu projektu Ribbon (Visual Designer), użytkownik musi wprowadzić następujące zmiany do kodu projektu, o ile platforma docelowa została zmieniona na .NET Framework 4:
· Zmodyfikować wygenerowany kod wstążki.
· Modyfikować każdy kod, który tworzy wystąpienie formantów wstążki w środowisku wykonawczym, obsługuje zdarzenia wstążki lub programowo ustawia pozycję składnika wstążka.
Aktualizowanie wygenerowanego kodu wstążki
Jeśli platforma docelowa projektu zostanie zmieniona na .NET Framework 4, należy zmienić wygenerowany kod elementu wstążki, wykonując poniższe czynności. Pliki kodu, które należy zaktualizować, zależą od języka programowania i sposobu utworzenia projektu:
· W projektach Visual Basic lub Visual C#, które utworzono w programie Visual Studio 2010, należy wykonać wszystkie czynności zawarte w pliku związanym z kodem wstążki (YourRibbonItem.Designer.cs lub YourRibbonItem.Designer.vb). Aby wyświetlić plik związany z kodem w projektach Visual Basic, należy kliknąć przycisk Pokaż wszystkie pliki dostępny w Eksploratorze rozwiązań (Solution Explorer).
· W projektach Visual C#, które utworzono w programie Visual Studio 2008, a następnie uaktualniono do wersji Visual Studio 2010, należy wykonać dwie pierwsze czynności zawarte w pliku związanym z kodem wstążki (YourRibbonItem.cs lub YourRibbonItem.vb) i wykonać pozostałe czynności zawarte w pliku związanym z kodem wstążki.
Zmiana wygenerowanego kodu wstążki
1. Zmodyfikuj deklarację klasy wstążki, tak aby pochodziła ona z elementu Microsoft.Office.Tools.Ribbon.RibbonBase, a nie z Microsoft.Office.Tools.Ribbon.OfficeRibbon.
2. Zgodnie z poniższym opisem zmodyfikuj konstruktora klasy wstążki. Jeśli do konstruktora dodano dowolny własny kodu, to tego kodu nie należy zmieniać. W projektach Visual Basic zmodyfikuj tylko konstruktora bez parametrów. Zignoruj innego konstruktora.
W poniższym kodzie przykładowym pokazano domyślnego konstruktora klasy wstążki w projekcie zwracającym się do platformy .NET Framework 3.5.
Visual Basic
Public Sub New() MyBase.New() InitializeComponent() End Sub
C#
public Ribbon1()
{
InitializeComponent();
}
W poniższym kodzie przykładowym pokazano domyślnego konstruktora klasy wstążki w projekcie zwracającym się do platformy .NET Framework 4.
Visual Basic
Public Sub New() MyBase.New(Globals.Factory.GetRibbonFactory()) InitializeComponent() End Sub
C#
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
}
3. W metodzie InitializeComponent zmodyfikuj każdy element kodu, który tworzy formant wstążki, tak aby w kodzie była używana jedna z metod pomocników obiektu RibbonFactory.
| Uwaga |
| Aby wyświetlić metodę InitializeComponent w projektach Visual C#, należy rozwinąć region o nazwie Kod wygenerowany przez Projektanta komponentów. |
Przykładowo załóż, że plik zawiera następujący wiersz kodu, który tworzy wystąpienie RibbonButton o nazwie button1 w projekcie zwracającym się do platformy .NET Framework 3.5.
Visual Basic
Me.button1 = New Microsoft.Office.Tools.Ribbon.RibbonButton()
C#
this.button1 = new Microsoft.Office.Tools.Ribbon.RibbonButton();
W projekcie zwracającym się do platformy .NET Framework 4 należy użyć następującego kodu.
Visual Basic
Me.button1 = Me.Factory.CreateRibbonButton()
C#
this.button1 = this.Factory.CreateRibbonButton();
Aby uzyskać pełną listę metod pomocnika dla formantów wstążki, zobacz sekcję Tworzenie wystąpień formantów wstążki.
4. W projektach Visual C# zmodyfikuj wszystkie wiersze kodu w metodzie InitializeComponent, korzystającej z delegata EventHandler<(Of <(TEventArgs>)>), aby używać określonego delegata wstążki.
Przykładowo załóż, że plik zawiera następujący wiersz kodu, który obsługuje zdarzenie RibbonButton..::.Click w projekcie zwracającym się do platformy .NET Framework 3.5.
C#
this.button1.Click += new System.EventHandler<Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>( this.button1_Click);
W projekcie zwracającym się do platformy .NET Framework 4 należy użyć następującego kodu.
C#
this.button1.Click += new Microsoft.Office.Tools.Ribbon.RibbonControlEventHandler( this.button1_Click);
Aby uzyskać pełną listę delegatów wstążki, zobacz sekcję Obsługa zdarzeń wstążki.
5. W projektach Visual Basic wyszukaj klasę ThisRibbonCollection znajdującą się na końcu pliku. Zmodyfikuj deklarację tej klasy, tak aby nie dziedziczyła ona z elementu Microsoft.Office.Tools.Ribbon.RibbonReadOnlyCollection.
Tworzenie wystąpień formantów wstążki
Należy zmodyfikować każdy kod, który dynamicznie tworzy wystąpienie formantów wstążki. W projektach zwracających się do platformy .NET Framework 3.5 formanty wstążki stanowią klasy, których wystąpienia w niektórych scenariuszach można tworzyć bezpośrednio. W projektach zwracających się do platformy .NET Framework 4 te formanty stanowią interfejsy, których wystąpień nie można tworzyć bezpośrednio. Formanty należy utworzyć za pomocą metod, które są dostarczane przez obiekt RibbonFactory.
Dostęp do obiektu RibbonFactory można uzyskać na dwa sposoby:
· Za pomocą właściwości Factory klasy wstążki. Tej metody należy używać z kodu w klasie wstążki.
· Za pomocą metody Globals.Factory.GetRibbonFactory. Tej metody należy używać z kodu spoza klasy wstążki. Aby uzyskać więcej informacji na temat klasy Globals, zobacz artykuł Dostęp globalny do obiektów w projektach pakietu Office .
W poniższym kodzie przykładowym pokazano procedurę tworzenia elementu RibbonButton w klasie wstążki w projekcie zwracającym się do platformy .NET Framework 4.
Visual Basic
Dim button As Microsoft.Office.Tools.Ribbon.RibbonButton = Me.Factory.CreateRibbonButton()
C#
Microsoft.Office.Tools.Ribbon.RibbonButton button = this.Factory.CreateRibbonButton();
W poniższej tabeli przedstawiono formanty, które można tworzyć programowo oraz metodę służącą do tworzenia formantów w projektach zwracających się do platformy .NET Framework 4.
Obsługa zdarzeń wstążki
Należy zmodyfikować każdy kod, który obsługuje zdarzenia formantów wstążki. W projektach zwracających się do platformy .NET Framework 3.5 te zdarzenia są obsługiwane przez delegowanie ogólne EventHandler<(Of <(TEventArgs>)>). W projektach zwracających się do platformy .NET Framework 4 te zdarzenia są aktualnie obsługiwane przez delegowanie innego rodzaju.
W poniższej tabeli przedstawiono zdarzenia wstążki oraz delegatów skojarzonych z tymi zdarzeniami w projektach zwracających się do platformy .NET Framework 4.
| Zdarzenie | Delegat, który zostanie użyty w projektach .NET Framework 4 |
| Zdarzenie LoadImage w wygenerowanej klasie wstążki | RibbonLoadImageEventHandler |
| Load | RibbonUIEventHandler |
RibbonComboBox..::.ItemsLoading RibbonComboBox..::.TextChanged RibbonDropDown..::.ButtonClick RibbonDropDown..::.ItemsLoading RibbonDropDown..::.SelectionChanged RibbonGallery..::.ItemsLoading | RibbonControlEventHandler |
Programowe ustawianie pozycji składnika wstążki
Należy zmodyfikować każdy kod, który określa położenie formantów, kart lub grup wstążki. W projektach zwracających się do platformy .NET Framework 3.5 można używać metod AfterOfficeId i BeforeOfficeId statycznej klasy Microsoft.Office.Tools.Ribbon.RibbonPosition w celu przypisywania właściwości Position grupy, karty lub formantu. W projektach zwracających się do platformy .NET Framework 4 należy uzyskać dostęp do tych metod za pomocą właściwości RibbonPosition dostarczanej przez obiekt RibbonFactory.
Dostęp do obiektu RibbonFactory można uzyskać na dwa sposoby:
· Za pomocą właściwości Factory klasy wstążki. Tej metody należy używać z kodu w klasie wstążki.
· Za pomocą metody Globals.Factory.GetRibbonFactory. Tej metody należy używać z kodu spoza klasy wstążki. Aby uzyskać więcej informacji na temat klasy Globals, zobacz artykuł Dostęp globalny do obiektów w projektach pakietu Office .
W poniższym kodzie przykładowym pokazano procedurę określania właściwości Position karty w klasie wstążki w projekcie zwracającym się do platformy .NET Framework 3.5.
Visual Basic
Me.tab1.Position = RibbonPosition.AfterOfficeId("TabHome")
C#
this.tab1.Position = RibbonPosition.AfterOfficeId("TabHome");
Poniższy kod stanowi przykład tego samego zadania w projekcie zwracającym się do platformy .NET Framework 4.
Visual Basic
Me.tab1.Position = Me.Factory.RibbonPosition.AfterOfficeId("TabHome")
C#
this.tab1.Position = this.Factory.RibbonPosition.AfterOfficeId("TabHome");
