To włączenie okazuje się być generowane celowo przez VS2013, jeśli utworzysz projekt testowy NUnit, ale zapomnij oznaczyć go jako projekt testowy, zgodnie z opisem w odpowiedzi firmy Microsoft:
To zachowanie jest celowe.
Aby obsługiwać platformy testowe innych firm, takie jak NUnit i XUnit, program Visual Studio 2012 załadował Eksploratora testów do otwartego rozwiązania, niezależnie od tego, czy zawierał projekty testowe. To dodało sekundy opóźnienia do scenariuszy uruchamiania i otwierania rozwiązania dla wszystkich użytkowników, z których większość nie korzysta z testów.
W Visual Studio 2013 zmieniliśmy go tak, aby pakiet Test Explorer był ładowany tylko wtedy, gdy rozwiązanie zawiera jeden lub więcej projektów testowych. Projekty testowe są identyfikowane na dwa różne sposoby. Projekty utworzone na podstawie jednego z wbudowanych szablonów projektów testów jednostkowych są identyfikowane za pomocą identyfikatorów GUID typu projektu. Inne typy projektów, takie jak projekt biblioteki klas z testami XUnit lub NUnit, są identyfikowane przez Eksploratora testów podczas pierwszego wykrywania testu i „oznaczane” <Service/>elementem.
@JaanusVarus Tak, to nadal występuje w VS 15.4 (Próbowałem zrozumieć zachowanie i to mnie tu doprowadziło). Nie jestem pewien, czy należy ponownie rozważyć decyzję dotyczącą wydajności, czy to było twoje pytanie.
@Adrian W ten sposób oznaczysz go jako projekt testowy. VS w zasadzie mówi: „Wygląda na to, że to prawdopodobnie projekt testowy, więc zamierzam po prostu to zaznaczyć.” Lub dodaj typ projektu wymieniony w odpowiedzi Vladimira.
W programie Visual Studio 2017 (wersja 15.x) ten problem zniknął. Zobacz ten wątek, aby uzyskać historię. W tym wątku wspomniano również, że zostanie to ostatecznie naprawione w programie Visual Studio 15.7
Osobiście nie podoba mi się ta usługa dodana do moich plików projektu i myślę, że jest to raczej obejście niż właściwe rozwiązanie. Tak więc oznaczanie projektów testowych jako projektów testowych wydaje mi się bardziej poprawne i można to osiągnąć, dodając to do pierwszego PropertyGroup:
{3AC096D0-A1C2-E12C-1390-A8335801FDAB} oznacza Projekt testowy i {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - C #. W przypadku innych typów przewodników projektu przejdź tutaj
^ Ja ProjectTypeGuidsteż wolę, ale jeśli robisz programowanie na wiele platform i używasz MonoDevelop, nie będziesz mógł otwierać {3AC096D0-A1C2-E12C-1390-A8335801FDAB}projektów: „Ten typ projektu nie jest obsługiwany przez MonoDevelop”. Oba IDE wydają się szczęśliwe, jeśli po prostu usuniesz GUID typu projektu testowego.
Zaletą dobrze znanych / stałych identyfikatorów GUID jest to, że są one prawie unikalne, a zatem bardzo łatwe do wyszukiwania w Google. Co zrobiłem i znalazłem:
to i to , a także inne ciekawe hity.
Wygląda na to, że jest to znany błąd w narzędziu T4 DSL dostarczanym z SDK. Na szczęście rozwiązanie jest łatwe dzięki zmianie niektórych kluczy rejestru.
Żeby było jasne, że błąd T4 DSL polegał na tym, że tag serwisowy B4F97281-0DBD-4835-9ED8-7DFB966E87FF był dodawany do wszystkich projektów, nawet jeśli nie korzystały z T4. Ten błąd został naprawiony w Visual Studio 2008. Tag projektu jest nadal dodawany do projektów korzystających z T4 (chociaż GUID jest inny). Tak jest nadal w przypadku VS2017.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.