Ich habe ein WCF-Web-Service-Projekt, sagen FooService.vbproj mit einem FooService.svc-Endpunkt. Die Implementierung erfolgt in einem separaten Projekt, Foo.vbproj, mit einer Foo.vb-Klasse, die den IFooService-Dienstvertrag implementiert, und anderen Dateien. FooService hat einen Projektverweis auf Foo. FooService wird lokal in IIS gehostet.Abhängiges Projekt Build bricht einen WCF-Dienst
Wenn ich FooService baue, kompiliert es das Foo-Projekt, dann das FooService-Projekt, und es funktioniert gut; http://localhost/Foo/FooService.svc in einem Browser gibt mir die Endpunkt-Infoseite. Aber dann, wenn ich nur Foo allein baue, dann besuche ich http://localhost/Foo/FooService.svc in einem Browser, bekomme ich einen gelben Bildschirm des Todes, mit "Methode nicht gefunden: 'Foo.Bar Foo.IFooService.GetFizz (System.Guid)'. Mehr Details unten.
Stellt sich heraus, es ist eine alte Version von Foo.dll in FooService bin-Ordner kopiert. Wenn das aus?
Irgendwelche Ideen auf, wie der Dienst zu beheben kommt? Sollte halten nicht die „erste "neue Foo.dll so, dass der Endpunkt funktionieren würde, noch
Voll Stack-Trace:
[MissingMethodException: Method not found: 'Foo.Bar Foo.IFooService.GetFizz(System.
System.Reflection.Assembly._GetType(String name, Boolean throwOnError, Boolean ignoreCase) +0
System.Reflection.Assembly.GetType(String name, Boolean throwOnError) +36
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +174
MyCo.Infrastructure.MultipleBindingHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +994
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +11666348
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +42
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +479