2017-04-23 12 views
8

Używamy devenv budować nasz kod źródłowy w linii poleceń, tak:Jak wyłączyć VS intellisense, gdy devenv jest wywoływany do budowania w linii poleceń?

devenv xyz.sln /build 

zauważyłem, że chociaż nie ma GUI jest otwarty, intellisense jest jeszcze załadowany. Wiadomości takie jak to sprawiają, że wierzę, że tak jest:

[Failure] Could not find file 'C:\xyz\Services\Platform\DataProcessor\WebServiceClient.g.cs'. 

To wygenerowany plik, więc oczywiście nie istnieje na początku. W każdym razie, komunikaty takie jak to wskazują, że intellisense działa, a zatem zasoby są marnowane.

Czy mogę go wyłączyć, gdy devenv tworzy kod w wierszu poleceń, ale czy jest włączony w inny sposób?

Wyjaśnienie

Build nie zawodzi! Dzieje się tak, ponieważ nie ma problemu z perspektywy budowania - pliki źródłowe zależności są generowane przed projektami, które faktycznie od nich zależą. Zatem z czystej perspektywy budowy wszystko jest w porządku.

Ten błąd jest tworzony przez program IntelliSense, który oczekuje i zauważa, że ​​niektóre projekty odwołują się do nieistniejących plików. Nie jest to całkowicie potrzebne, gdy devenv jest używany do budowania na linii poleceń, przeciwnie, powoduje hałas na wyjściu konsoli.

+0

Jak wygenerować ten plik? –

+0

Exe działa z kroku csproj BeforeBuild. I jest inny projekt, który już odwołuje się do tego pliku. – mark

+0

Jeśli bezpośrednio zbudujesz to rozwiązanie w VS, czy pojawi się ten komunikat o błędzie, czy nie? –

Odpowiedz

-1

Nie sądzę, że jest to związane z indeksowaniem (IntelliSense).

Ten błąd jest spowodowany tym, że pliki rozwiązania lub projektu mają odniesienie do tego konkretnego pliku. Jeśli pliku nie ma w systemie plików w czasie kompilacji, otrzymasz ten błąd.

Polecam przejrzenie porządku budowy w twoim projekcie. Ten numer article opisuje sposób zapewnienia, że ​​projekt jest zbudowany w oczekiwanej kolejności.

Staraj się najpierw utworzyć projekt, który wygeneruje pliki źródłowe, a następnie pozostałe projekty, które ich wymagają.

+0

Ale pytanie brzmi: "jak wyłączyć VS intellisense, gdy devenv jest wywoływany do budowania z linii poleceń?" I jest to uzasadnione niezależnie od tego, co spowodowało, że OP zadał to pytanie. –

+0

@samhocevar: To byłby tytuł. Ale OP opisuje, że otrzymuje następujący błąd: [Błąd] Nie można znaleźć pliku "C: \ xyz \ Services \ Platforma \ DataProcessor \ WebServiceClient.g.cs". On przypisuje ten problem IntelliSense, ale to nie wydaje się tak być. Jeśli uważnie przeczytasz jego wpis, potrzebujesz, aby ominąć ten błąd, aby zbudować projekt. – arboreal84

+0

Komunikat o błędzie * jest * wydany przez IntelliSense. Wygenerowane pliki mogą być tworzone podczas kompilacji, ale IntelliSense ma tendencję do uruchamiania bardzo wcześnie, więc nie zawsze jest możliwa zmiana kolejności kompilacji. Stawiam nagrodę za to pytanie, ponieważ ja też chciałbym wyłączyć IntelliSense po uruchomieniu devenv z linii poleceń. –

Powiązane problemy