5

Ich habe meine Frustration bis heute ausgenutzt, als ich versuchte, eine Lightswitch-Anwendung auf einem Windows 2008 R2-Server mit IIS 7.5 bereitzustellen. Bei der Anwendung navigiert, erhalte ich die folgende execrated error:LightSwitch 'Microsoft-LightSwitch-Security-ServerGenerated-Implementation-AuthenticationService.svc' existiert nicht

Load operation failed for query 'GetAuthenticationInfo'. The remote server returned an error: NotFound.

Sowohl die .NET-Trace und Server-Ereignisprotokoll diese dazu zu sagen haben:

Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/63835064 Exception: System.Web.HttpException (0x80004005): The service '/Web/Microsoft-LightSwitch-Security-ServerGenerated-Implementation-AuthenticationService.svc' does not exist.

Konfigurationsdetails sind wie folgt:

  • Ich habe unter meinen Zugriffskontrolloptionen "Authentifizierung nicht aktivieren" ausgewählt.
  • In meinen Veröffentlichungsoptionen "Application Server Configuration" wähle ich IIS Server mit deaktiviertem Kontrollkästchen für die Voraussetzungen aus.
  • Unter "Ausgabe veröffentlichen" erstelle ich ein Paket auf meiner lokalen Festplatte. Später kopiere ich dieses Paket auf den Server und führe die .deploy.cmd manuell aus, was gut zu funktionieren scheint.
  • Meine Datenbankverbindung unter "Andere Verbindungen" ist korrekt - es ist eine SQL-Anmeldung, die von meiner Box funktioniert, und andere Sites auf diesem Server verbinden sich mit dem gleichen DB-Server ohne Probleme.

Auf der Serverseite:

  • Die Seite ist in .NET 4.0 integrierten Modus in einem eigenen Anwendungspool ausgeführt wird, die Application verwenden.
  • Nur die anonyme Authentifizierung ist aktiviert.

Was ich versucht habe:

  • Installiert alle Lichtschalter Material für 2011 und 2012 aus dem Web Platform Installer.
  • Installierte RiaServices.msi.
  • Repariert .NET 4.5.
  • Ran aspnet_regiis -i

Keiner von ihnen überhaupt keine Wirkung hatte. Der einzige Hinweis, den ich über den obigen Fehler habe, ist, dass .svc zur Laufzeit generiert wird und dass es einen 404-Fehler auslöst, wenn am WCF-Ende ein anderes Problem auftritt. (Deshalb habe ich die Installation von RiaServices.msi versucht.)

Ich bin in der Lage, "Remote zu einem Server jetzt zu veröffentlichen" zu meinem eigenen lokalen IIS Express, und die App dort funktioniert gut. Das Kopieren dieser Dateien auf den Remote-Server führt jedoch zu demselben Ergebnis wie zuvor.

Haben Sie Vorschläge, wie Sie das weiter beheben können?

Antwort

4

Das Problem bestand darin, dass die Lightswitch-Anwendung mit Microsoft.Data.Services 5.0.2.0 bereitgestellt wurde, Microsoft.LightSwitch.Server 11.0.0.0 jedoch auf Microsoft.Data.Services 5.0.0.0 verweisen muss. Sobald ich 5.0.0.0 auf dem Webserver bereitgestellt habe, wurde die Anwendung wie erwartet ausgeführt.

Ich habe dieses Problem gefunden, indem ich versuche, direkt zu /Microsoft.LightSwitch.SecurityData.svc zu navigieren, einem statischen Dienst, der mit der Anwendung implementiert wird und dann den YSOD-Anweisungen folgt.

+1

Dieser Download ist, was Sie auf dem Server installieren müssen, um die fehlenden Microsoft.Data.XXX 5.0.0.0 Sachen hinzuzufügen: http://www.microsoft.com/en-us/download/confirmation.aspx?id=29306 – DCastenholz

+0

Stunden, die dieses Problem beheben. Die Installation von WcfDataServices (heruntergeladen von dem von DCastenholz bereitgestellten Link) war die Lösung für mein spezielles Problem. –

2

Ich hatte das gleiche Problem. Gehen Sie zu Ihrer Anwendung auf dem IIS und doppelklicken Sie dann auf Authentifizierung. Wählen Sie Windows-Authentifizierung und deaktivieren Sie diese.

+0

Vielen Dank für die Antwort, aber wie bereits erwähnt, nur Anonyme Authentifizierung ist für diese Seite in IIS aktiviert. –

+0

Wenn Sie die anonyme Authentifizierung absichtlich deaktiviert haben, überprüfen Sie die Antwort von Facio Ratio. – DCastenholz

4

Wenn dieses Problem auftritt, nachdem Sie Visual Studio 2013 installiert oder eine Version von .NET mit einem neueren OData als 5.0.0.0 auf Ihrer Entwicklungsumgebung installiert haben, tritt das Problem auf, weil neue Versionen von OData-Assemblys installiert wurden und das LightSwitch Server-Projekt verwendet jetzt diese (die nicht kompatibel sind). Sie können das Problem beheben, indem Sie Ihre Datei Server.csproj (oder vbproj) aktualisieren, um auf die vorherige Version der OData-Assemblys zu verweisen.

hinzufügen HintPath Knoten mit den folgenden 5 Montag Einträgen in Ihrem Server \ Server.CSProj

<Reference Include="Microsoft.Data.Edm"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Edm.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.OData"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.OData.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.Services"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="Microsoft.Data.Services.Client"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="System.Spatial"> 
    <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\System.Spatial.dll</HintPath> 
    <Private>True</Private> 
</Reference> 

Dieses Problem ist nicht auf Projekte auftritt, die das V3 Projektsystem aktualisiert wurden (mit VS 2012 Update 2) oder V4-Projekte (VS 2013), weil wir angesprochen haben, wie diese Assemblies referenziert wurden. Alternativ können Sie mit der rechten Maustaste auf das Projekt klicken und "Projekt aktualisieren" auswählen Senior SDET | Microsoft | Light

LightSwitch Forum Post Answer to this Question