2009-04-24 10 views
4

Ich habe eine ClickOnce-Anwendungsimplementierung getestet. Ich habe ein virtuelles Verzeichnis auf meinem Rechner (mit IIS) eingerichtet. Ich habe http://localhost/SampleApplication als URL des Installationsordners auf der Registerkarte "Veröffentlichen" von Visual Studio angegeben. Allerdings, wenn ich die Anwendung veröffentlichen bekomme ich folgende Fehlermeldung:ClickOnce Installationsordner für Localhost

Warning: Files could not be downloaded from http://chrish/SampleApplication/ .

The remote server returned an error: (407) Proxy Authentication Required. Publish success.

Warning: Unable to view published application at http://chrish/SampleApplication/publish.htm . http://chrish/SampleApplication/publish.htm

Beachten Sie, wie es meine url vom lokalen Host zu meinem Login-Namen geändert hat. Warum? Das passierte vor einer Woche nicht.

Antwort

5

Bei der ClickOnce-Installation wird überprüft, ob der Servername mit dem erwarteten Namen übereinstimmt. Daher wird localhost immer unter dem Deckblatt in den Computernamen übersetzt [nicht der Benutzername, wie du es in deiner Frage vorschlägst] (eines der vielen verwirrenden Dinge, die ClickOnce macht - ein Nebeneffekt ist, dass wenn du 3 Download-Server einrichten willst müssen 3 separate veröffentlicht und/oder script the publish like this) oder like this tun. Das ist keine Überraschung - das tut es immer unter der Decke.

Der 407-Fehler bezieht sich auf Proxyauth. Dies bedeutet, dass das Herunterladen über einen Proxy wie Microsoft ISA Server umgeleitet wird. Sehen Sie in Ihren IE Internetoptionen Connections Proxy Settings nach und stellen Sie sicher, dass sie lokale Adressen umgehen [wie chrish].

Der Grund für die erfolgreiche Berichterstellung ist, dass der Upload wahrscheinlich einen anderen Mechanismus als die Verifizierung verwendet und nicht über den Proxy weitergeleitet/blockiert wird. (Das zugrunde liegende Problem ist, dass das .NET-Framework standardmäßig keine Proxy-Anmeldeinformationen weitergibt und Sie either apply a config entry for devenv oder was auch immer veröffentlichen müssen oder den Build-Prozess einen Testschritt mit zusätzlichem Code aufrufen, der die Proxy-Anmeldeinformationen sendet) (http://blogs.msdn.com/jpsanders/archive/2009/03/24/httpwebrequest-webexcepton-the-remote-server-returned-an-error-407-proxy-authentication-required.aspx) (Siehe auch How should I set the default proxy to use default credentials?)

0

ClickOnce mag "localhost" nicht, aber Sie können das umgehen.

Wenn Sie den Publishing Ordnerort:

C: \ inetpub \ wwwroot \ Sample \

und den Installationsordner URL:

http://chrish/SampleApplication/

(wo „chrish "ist der Netzwerkname Ihres Computers", dann können Sie lokal veröffentlichen.