Porady: publikowanie aplikacji WPF przy użyciu włączonej funkcji stylów wizualnych
Style wizualne umożliwić wyświetlanie wspólnej kontroli zmienić zależności od tematu wybranego przez użytkownika.Domyślnie style wizualne nie są włączone dla aplikacji Windows Presentation Foundation (WPF), więc należy je włączyć ręcznie.Włączanie style wizualne dla aplikacji WPF, a następnie publikując rozwiązanie powoduje błąd.W tym temacie opisano, jak naprawić ten błąd i proces publikowania aplikacji WPF z style wizualne są włączone.Aby uzyskać więcej informacji na temat stylów wizualnych, zobacz Visual Styles Overview.Aby uzyskać więcej informacji o komunikacie o błędzie, zobacz Rozwiązywanie problemów z określonymi błędami wdrożeń technologii ClickOnce.
Aby rozwiązać problem i opublikować rozwiązanie, należy wykonać następujące zadania:
Opublikować rozwiązania bez stylów wizualnych włączone.
Utwórz plik manifestu.
Osadzanie pliku manifestu pliku wykonywalnego opublikowanych roztworu.
Zarejestruj manifesty aplikacji i wdrażania.
Następnie można przenieść publikowanych plików do lokalizacji, z której chcesz użytkowników do zainstalowania aplikacji.
Publikuj rozwiązanie bez style wizualne są włączone
Upewnij się, że projektu nie ma włączyć style wizualne.Po pierwsze sprawdź następujące kodu XML manifestu pliku projektu.Następnie jeśli kod XML jest obecny, należy ująć XML z tag komentarza.
Style wizualne nie są włączone domyślnie.
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>
W poniższych procedurach przedstawiono sposób otwierania pliku manifestu skojarzonej z projektem.
Aby otworzyć plik manifestu w projekcie języka Visual Basic
Na pasku menu wybierz Projekt, ProjectNameWłaściwości, gdzie ProjectName jest nazwą projektu programu WPF.
Pojawiają się na stronach właściwości projektu programu WPF.
Na aplikacji tab, wybierz polecenie Ustawienia systemu Windows Widok.
Otwiera plik app.manifest w Edytor kodu.
Aby otworzyć plik manifestu w projekcie języka C#
Na pasku menu wybierz Projekt, ProjectNameWłaściwości, gdzie ProjectName jest nazwą projektu programu WPF.
Pojawiają się na stronach właściwości projektu programu WPF.
Na aplikacji karta, zanotuj nazwę wyświetlaną w polu manifestu.Jest to nazwa manifestu, który jest skojarzony z projektu.
[!UWAGA]
Jeśli manifest Embed z domyślnymi ustawieniami lub Tworzenie aplikacji bez manifest pojawiają się w polu manifestu style wizualne nie są włączone.Jeśli nazwa pliku manifestu pojawi się w polu manifestu, przejdź do następnego kroku tej procedury.
W Solution Explorer, wybierz polecenie Pokaż wszystkie pliki ().
Przycisk ten pokazuje wszystkie elementy projektu, w tym te, które zostały wyłączone i tych, które są zwykle ukryte.Plik manifestu pojawia się jako element projektu.
Podczas tworzenia i publikowania rozwiązania.Aby uzyskać więcej informacji o sposobach publikowania roztwór, zobacz Porady: publikowanie aplikacji ClickOnce za pomocą Kreatora publikacji.
Utwórz plik manifestu
Wklej następujący kod XML do pliku Notatnika.
Ten XML opisuje zestaw, który zawiera formanty, które obsługują stylów wizualnych.
<?xml version="1.0" encoding="utf-8"?><asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency></asmv1:assembly>
W programie Notatnik, kliknij przycisk pliku, a następnie kliknij przycisk Zapisz jako.
W Zapisz jako dialogowym Zapisz jako typ listy rozwijanej wybierz Wszystkie pliki.
W Nazwa pliku polu, podaj nazwę pliku i dołączyć manifestu (manifest) na końcu nazwy pliku.Na przykład: themes.manifest.
Wybierz Przeglądaj foldery przycisk, zaznacz folder, a następnie kliknij zapisać.
[!UWAGA]
Pozostałe procedury założono, że nazwa tego pliku jest themes.manifest i że plik jest zapisany w katalogu C:\temp na komputerze.
Osadzanie w pliku wykonywalnego roztworu opublikowanego pliku manifestu
Otwórz programu Visual Studio wiersza polecenia.
Aby uzyskać więcej informacji o otwieraniu wiersza polecenia programu Visual Studio, zobacz Wiersz poleceń Visual Studio.
[!UWAGA]
Pozostałe kroki następujące założenia dotyczące rozwiązania:
-
Nazwa roztwór jest MyWPFProject.
-
Roztwór znajduje się w następującym katalogu: %UserProfile%\Documents\Visual Studio 2010\Projects\.
Roztwór jest publikowana do następującego katalogu: %UserProfile%\Documents\Visual Studio 2010\Projects\publish.
-
Najnowsze wersje plików opublikowana aplikacja znajduje się w następującym katalogu:%UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0
Nie musisz używać nazwy lub lokalizacji katalogu opisane powyżej.Nazwy i lokalizacje opisane powyżej są używane tylko w celu zilustrowania kroki wymagane do publikowania rozwiązania.
-
W wierszu polecenia należy zmienić ścieżkę do katalogu, który zawiera najnowsze wersje plików opublikowanej aplikacji.Poniższy przykład ilustruje ten krok.
cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
W wierszu polecenia Uruchom następujące polecenie, aby osadzić plik manifestu pliku wykonywalnego aplikacji.
mt –manifest c:\temp\themes.manifest –outputresource:MyWPFApp.exe.deploy
Zarejestruj manifesty aplikacji i wdrażania
W wierszu polecenia Uruchom następujące polecenie, aby usunąć .deploy rozszerzenia z pliku wykonywalnego w bieżącym katalogu.
ren MyWPFApp.exe.deploy MyWPFApp.exe
[!UWAGA]
W tym przykładzie zakłada się, że tylko jeden plik ma .deploy rozszerzenia pliku.Upewnij się, zmienić nazwy wszystkich plików w tym katalogu, które mają .deploy rozszerzenia pliku.
W wierszu polecenia Uruchom następujące polecenie, aby podpisać manifest aplikacji.
mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
[!UWAGA]
W tym przykładzie założono, zarejestruj manifest przy użyciu .pfx pliku projektu.Jeśli rejestrujesz się nie manifest, można pominąć –cf parametr, który jest używany w tym przykładzie.Jeśli rejestrujesz się manifest z certyfikatem, który wymaga podania hasła, należy określić –password opcji (For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – password Password).
W wierszu polecenia Uruchom następujące polecenie, aby dodać .deploy rozszerzenie nazwy pliku, którego nazwa została zmieniona w poprzednim kroku tej procedury.
ren MyWPFApp.exe MyWPFApp.exe.deploy
[!UWAGA]
W tym przykładzie założono, że tylko jeden plik miał .deploy rozszerzenia pliku.Upewnij się, Zmień nazwy wszystkich plików w tym katalogu, które wcześniej .deploy rozszerzenia nazwy pliku.
W wierszu polecenia Uruchom następujące polecenie, aby podpisać manifest rozmieszczania.
mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
[!UWAGA]
W tym przykładzie założono, zarejestruj manifest przy użyciu .pfx pliku projektu.Jeśli rejestrujesz się nie manifest, można pominąć –cf parametr, który jest używany w tym przykładzie.Jeśli rejestrujesz się manifest z certyfikatem, który wymaga podania hasła, należy określić –password opcji, jak w przykładzie:For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – password Password.
Po wykonaniu tych czynności można przenieść publikowanych plików do lokalizacji, z której chcesz użytkowników do zainstalowania aplikacji.Jeśli masz zamiar zaktualizować rozwiązanie często, można przenieść te polecenia w skrypcie i uruchom skrypt każdym publikowaniu nowej wersji.
Zobacz też
Informacje
Koncepcje
Rozwiązywanie problemów z określonymi błędami wdrożeń technologii ClickOnce