Jak mogę pozbyć się komunikatu o błędzie "the target assembly contains no service types" w VS2008?

I ' ve got a client / Server wcf application

Mój program wykonywalny nie definiuje żadnego ServiceContract, nie ma nawet odniesienia do System.ServiceModel (ale zamiast tego ma odniesienie do zestawu, który zawiera logikę połączenia z serwerem )

Mam inny assembly, do którego odwołuje się mój EXE, który zawiera ServiceContract.

Kiedyś działało dobrze. Wczoraj grałem dużo z ustawieniami mojego projektu (częściowe zaufanie, pełne zaufanie, ustawienia wdrażania i tak dalej) i teraz, za każdym razem, gdy uruchamiam mojego klienta, mam następujący komunikat:

Microsoft WCF Service Host
Zespół docelowy nie zawiera typów usług.
Może być konieczne dostosowanie polityki bezpieczeństwa dostępu do kodu tego zgromadzenia.

Następnie VS zawiesza się na 1 minutę, a w końcu pozwala mi debugować mój program jak zwykle.

Znalazłem post na temat tego problemu , ale rozwiązanie nie ma zastosowania w mojej sytuacji. Jakieś pomysły?

Author: SliverNinja - MSFT, 2009-02-19

8 answers

Zawsze tak jest. Szukasz 2 godzin, w końcu piszesz na tak, a 5 minut później znajdziesz odpowiedź.

W zakładce opcje WCF właściwości projektu definiujące ServiceContract, jest pole wyboru oznaczone "uruchom serwer usługi WCF podczas debugowania innego projektu w tym samym rozwiązaniu", które odznaczyłem.

Nie mam pojęcia, jak to zostało sprawdzone. To rozwiązało mój problem. Zobacz MSDN Odniesienie do tego ustawienia projektu.
 114
Author: Brann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-03 10:22:51

Na wypadek, gdyby ktoś inny szukał odpowiedzi, inną przyczyną tego błędu może być posiadanie pliku App.config w projekcie, który jest biblioteką klasową z sekcją <system.serviceModel>.

Przeniosłem kod usługi z projektu, który był wykonywalny do innego projektu, ale przypadkowo zostawiłem stary plik App.config. Mój nowy projekt, który był aplikacją konsolową skonfigurowaną programowo i uruchomił WCF, ale ponieważ stary plik App.config znajdował się w odwołanym assembly, otrzymałbym to tajemnicze okno dialogowe nawet podczas debugowania aplikacji konsolowej.

Zajęło około 12 godzin, aby śledzić ten jeden w dół, ponieważ nie zdawałem sobie sprawy, że vs debugger sprawdza wszystkie odwołane zespoły dla aplikacji.config, które mają skonfigurowane usługi WCF.

 11
Author: bpeikes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-23 18:29:41

Aby określić projekt z tym problemem znajdź ciąg 3D9AD99F-2412-4246-B90B-4EAA41C64699 w plikach projektu.

Przykład: <ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Następnie wyłącz opcję projektu "opcje WCF / Uruchom host usługi WCF podczas debugowania innego projektu w tym samym rozwiązaniu"

 7
Author: alexey.petriashev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-02 12:23:49

Niektóre blogi mówią, że mogło się to zdarzyć z powodu skopiowania projektu z innej gałęzi, która nadpisuje GUID... więc po prostu usuń je tak, jak wyjaśniono w tym blogu.

 4
Author: HydPhani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-17 08:32:33

Ten błąd może być również spowodowany błędną nazwą usługi w pliku konfiguracyjnym:

<system.serviceModel>
    <services>
      <service name="MyServiceLibrary.WrongServiceName">
...

Sprawdź plik konfiguracyjny i upewnij się, że nazwa usługi jest prawidłowa.

 1
Author: Stacked,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-17 06:22:05

Stary wątek. Po prostu usuń wszelkie argumenty wiersza poleceń z sekcji debugowania w opcjach. To mi pomogło.

 1
Author: BlueHeaven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-19 13:11:20

Również przechodziłem przez ten sam problem i szukałem godzinami, aby pozbyć się tego konkretnego błędu. W końcu znalazłem wyjście.

Kiedy natkniesz się na ten konkretny problem, próbujesz uruchomić zarówno serwer, jak i aplikację kliencką jako administrator , I zmienić właściwości WPF projektu.

Po kliknięciu właściwości WPF projektu, znajdziesz opcję budowania. W opcji build istnieje opcja o nazwie target platformy , w którym można zmienić target platformy na x86 . Zauważ również, że w przypadku x84 , musisz ustawić go na x84.

Teraz uruchom projekt z konsoli , tzn. przejdź do folderu, w którym zapisane są projekty, a w koszu klienta znajdziesz folder debug, w którym otrzymasz aplikację konsolową. Teraz powinieneś być w stanie pomyślnie uruchomić aplikację.

 1
Author: REESHABH CHOUDHARY,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-22 07:00:59

Dodanie innego rozwiązania, ponieważ ta wiadomość wydaje się mieć wiele przyczyn. Usunięcie następującego identyfikatora GUID ze znacznika ProjectTypeGuids w pliku projektu rozwiązało problem.

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699}</ProjectTypeGuids>
 0
Author: tgriffin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-19 19:11:45