2009-05-11 9 views
5

Mam projekt instalacji i wdrażania, że ​​na naszym serwerze kompilacji, podaje następujące w skrócie:Visual Studio konfiguracji i kompilacji Wdrożenie nie bez błędów

========== rebuild All: 25 udało, 2 powiodło, 0 pominięte ==========

nie wiem co dwa są takie, że nie powiodła się, choć wierzę, jeden z nich jest projekt vdproj ponieważ jeśli uruchomię kompilację bez instalatora, nie zgłoszono żadnych błędów. Komunikaty "plik opakowaniowy" pasują do danych wyjściowych na moim komputerze, gdzie kompilacja się powiodła.

Jestem przekonany, że chodzi o środowisko, tylko że nie ma tam żadnych dzienników, które mówią, czym jest problem - tylko numer w podsumowaniu.

Jeszcze dziwniejsze jest to, że pliki setup.exe i myapp.msi wydają się generowane poprawnie. Nie mogę zrozumieć, jakie projekty zawiodły, ponieważ nie ma wzmianki o nieudanym projekcie. Wiem tylko, że jeśli zbuduję rozwiązanie z wyłączeniem projektu instalacji, podsumowanie nie zawiera błędów.

Czy ktoś może wymyślić coś, aby sprawdzić?

Odpowiedz

11

odpowiedź w końcu było to, że jest to znany błąd: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317870

Odpowiedź jest modyfikowanie plików projektu (* .csproj) zawierający LINQ to SQL dbml plików usunąć kilka rzeczy, a mianowicie:

  1. Zamknij VS 2008.
  2. Otwórz plik zawierający projekt LINQ to SQL pozycję w Notatniku.
  3. Usuń następujące linie:
    [ItemGroup]
    [Usługi include = "{3259AA49-8AA1-44D3-9025-A0B520596A8C}" /]
    [/ ItemGroup]

Projekt konfiguracja będzie teraz pomyślnie zbuduj . Jeśli jednak klikniesz dwukrotnie plik DBML, aby otworzyć projektant w VS 2008, projekt instalacji przestanie budować ponownie. Powyższe linie do nie zostaną ponownie dodane do pliku projektu , ale projekt instalacji przestanie być budowany. Just restart VS 2008 i znowu będzie działać - dopóki ponownie nie otworzysz projektanta DBML. Kiedy projekt Instalator nie z powodu tego problemu nie będzie nigdy powodzeniem budować dopiero po ponownym uruchomieniu VS 2008.

I w końcu znalazłem odpowiedź (lub przynajmniej link do odpowiedzi) od MS Connect forum topic. Oto documented workaround.

+0

Kolejne obejście wymienione na tej stronie błędu firmy Microsoft zadziałało dla mnie: kliknij prawym przyciskiem myszy rozwiązanie i kliknij "Czyste rozwiązanie" w Visual Studio. –

+1

Możesz edytować plik csproj w VS bez zamykania rozwiązania: 1. z menu kontekstowego projektu wyładuj projekt, 2. z menu kontekstowego otwórz plik csproj w VS, 3. edytuj i zapisz, 4. z menu kontekstowego ponownie otwórz projekt. – Richard

0

(Nie powiem, jaki rodzaj budowy Server masz. Bo oznaczone „.net” Mam zamiar założyć używasz TFS i budowania zespołu.)

Budowa zespołu używa MSBuild (naprawdę to IS MSBuild). MSBuild nie może budować plików vdproj. Tylko Visual Studio może to zrobić.

Jeśli więc dołączasz rozwiązania, które zawierają pliki vdproj, to zawiodą. (Sprawdź swój dziennik kompilacji wokół projektów vdproj, aby sprawdzić, czy się nie udało.)

Jednym ze sposobów zatrzymania tych błędów jest utworzenie konfiguracji, którą kompilujesz dla swojej Kompilacji zespołu, która nie zawiera plików vdproj (jeśli nieudane projekty naprawdę Cię niepokoją).

Najlepszym sposobem na uzyskanie plików msi i exe jest uruchomienie Visual Studio na swoich projektach vdproj. Dodaj cel niestandardowy po zakończeniu kompilacji i ręcznie wywołaj program Visual Studio w projekcie. (Nie wiem, dlaczego pliki msi i exe są generowane, chyba że robisz to.)

Jako alternatywę rozważ plik XML Instalatora Windows (WIX). Wersja 3 (która jest bardzo bliska pełnej wersji i ma stabilną wersję beta) używa MSBuild. Oznacza to, że twoje rozwiązania mogą być kompilowane przez Team Build bez żadnych specjalnych działań. Jedyną wadą jest to, że WIX nie może kierować na "dowolny procesor", ale może być częścią docelowego poziomu rozwiązania "dowolnego procesora", o ile jest ukierunkowany na określoną platformę.

+0

Sam serwer kompilacji to FinalBuilder, choć jest to kwestia sporna, ponieważ wystąpił problem polegający na budowaniu w VS na komputerze serwera kompilacji. –

0

Tak, już to miałem.

Nie wiesz o swoim planie, ale spróbuj to odpowiednio:

Po pierwsze, kliknij prawym przyciskiem myszy na pliku rozwiązanie> Właściwości> Konfiguracja

Tam użyj pola build kleszcza do eksperymentowania z których projekty budują się razem, a które nie.

Również w systemie plików usuń foldery debugowania/wydania dla wszystkich projektów.

Wreszcie, na podstawie mojego doświadczenia, ten błąd jest zwykle spowodowany przez uszkodzony/brakujący plik web.config.

daj mi znać jak idziesz

Powiązane problemy