2010-04-13 14 views
7

Publikuję aplikację ClickOnce z VS2008, ale przed każdym opublikowaniem muszę ręcznie zmienić konfigurację wydania. To jest w porządku, o ile nie zapomnę zmienić. Czy istnieje sposób, aby zapobiec wdrażaniu kompilacji debugowania? Czy istnieje jakaś dyrektywa kompilator jak:Zapobieganie wdrażaniu kompilacji debugowania za pomocą ClickOnce

#if DEBUG 
#if ClickOnce 
#error You cannot publish a debug build 
#endif 
#endif 

Albo czy jest jakiś sposób (bez skryptów kompilacji) automatyczne przełączanie config Zwolnij przed publikacją?

(Znalazłem kilka podobnych pytań, ale nie jak anwsers na nich)

Dzięki

+0

Czy już nie prosi o to, że * coś nie pasuje * i prosi o potwierdzenie przed przesłonięciem przy próbie opublikowania kompilacji debugowania przez kompilację wydania (bez takiego okna dialogowego podczas publikowania poprawnej wersji)? –

+0

Dzięki, ale niestety nie, nie ma takiego okna dialogowego. – jomi

+0

powiązane: http://stackoverflow.com/questions/47107/clickonce-disallow-publishing-of-debug-builds, który zawiera link do strony http://msdn.microsoft.com/en-us/library/ms164307.aspx – mbx

Odpowiedz

2

Nie wiem, czy to jest źle widziane, ale proszę zobaczyć moją odpowiedź w odpowiednim wątku:

https://stackoverflow.com/a/15080048/571237

W skrócie można modyfikować pliki projektu, aby sprawdzić dla symboli debugowania przed publikacją, a rzut warunek błędu, jeśli zostaną znalezione. Zapobiega to wdrażaniu bez konieczności używania plików .bat lub przetwarzania zewnętrznego.

+0

Dzięki temu dodatek działał dobrze, ale każdy musiał go zainstalować. Teraz mogę użyć: jomi

0

Przykro to mówić, ale nie ma sposobu, aby to zrobić. I jomi ma rację, pojawi się okno dialogowe, jeśli zmienisz klucz podpisywania, ale nie, jeśli zmienisz konfigurację kompilacji. Po wdrożeniu produktu należy zwrócić szczególną uwagę.

RobinDotNet
Odwiedź mój ClickOnce blog!

+0

+1 powoduje, że blog jest niesamowity. Masz teraz nowego czytelnika. –

+0

Dzięki! Mam kilka nadchodzących wpisów na temat .NET 4.0 i ClickOnce. Mam nadzieję, że są pomocne! – RobinDotNet

+0

To jest złe: to działa: http://stackoverflow.com/questions/47107/clickonce-disallow-publishing-of-debug-builds/15080048#15080048 – schlamar

1

Najlepszym rozwiązaniem znalazłem do tej pory jest napisanie VS2008 dodatek opiera się na: http://msdn.microsoft.com/en-us/library/ms165638.aspx

public void OnPublishBegin(ref bool pubContinue) 
    { 
     if (pubContinue && _applicationObject.Solution.SolutionBuild.ActiveConfiguration.Name != "Release") 
     { 
      System.Windows.Forms.MessageBox.Show("You can only publish a Release build"); 
      pubContinue = false; 
     } 
    } 

Wszelkie inne pomysły są mile widziane.

+0

Świetna propozycja! Naprawia mój problem i pozwala mi dodawać inne przydatne funkcje. – Dan

Powiązane problemy