Bereitstellen von System.Net.Http.dll mit ClickOnce

8

Ich entwickle eine Anwendung, die mit ClickOnce bereitgestellt werden soll. Nach dem Downgrade von .NET 4.5 auf .NET 4.0 und Ersetzen der Reparatur von fehlerhaften Referenzen habe ich jetzt Probleme mit dem Bereitstellungspaket. Einige Dateien, vor allem System.Net.Http.dll , werden nicht mit der Anwendung bereitgestellt. Ich habe einige Überprüfungen gemacht, kann aber nicht schließen, warum genau das passiert. Mein Verdacht ist, dass das Paket mit der Erwartung erstellt wird, dass diese Assembly bereits auf dem Zielcomputer existiert. Dies wäre sinnvoll, wenn das Zielframework .NET 4.5 wäre, aber nicht jetzt, dass es .NET 4 ist. Seltsamerweise wird System.Net.Http.Extensions.dll korrekt bereitgestellt.

Einstellungen und Versionsnummern sind für beide Dateien gleich:

Es wird auf dasselbe Paket verwiesen:

%Vor%

Zielplattform ist .NET 4, und Voraussetzung für die Bereitstellung ist auch .NET 4 und ein KB-Update.

Datei wird nicht einmal im Dialogfeld "Anwendungsdateien" angezeigt:

Irgendwelche Ideen? Ich könnte nur versuchen, die Assembly als eine Inhaltsdatei bereitzustellen, wenn alles andere fehlschlägt. Das Entfernen und erneute Hinzufügen der Referenz hat keinen Unterschied gemacht.

    
Nikola Radosavljević 16.09.2013, 12:05
quelle

1 Antwort

14

Gesendete Nachricht von Microsoft zu Visual Studio-Unterstützungsthread sagt das:

Dies wird in der nächsten Aktualisierung von Visual Studio 2013 behoben. Bis dahin müssen Sie die Problemumgehung des Hinzufügens der Assemblies als Link verwenden.

Ich fand die nächste Lösung (Problem 8) :

Dies tritt auf, weil ClickOnce bestimmte erforderliche Assemblys nicht bereitstellen kann. Um das Problem zu umgehen, gehen Sie folgendermaßen vor:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Bestehendes Objekt hinzufügen
  2. Navigieren Sie zum HttpClient net40-Paketordner
  3. Geben Sie im Textfeld Dateiname ein.
  4. Halte STRG, wähle System.Net.Http.dll und System.Net.Http.Primitives.dll
  5. Klicken Sie auf den Abwärtspfeil neben der Schaltfläche Hinzufügen und wählen Sie Als Link hinzufügen
  6. aus
  7. Halten Sie im Projektmappen-Explorer STRG gedrückt, und wählen Sie System.Net.Http.dll und System.Net.Http.WebRequest.dll
  8. aus
  9. Klicken Sie mit der rechten Maustaste auf die Auswahl, wählen Sie Eigenschaften und ändern Sie die Einstellung In Ausgabeverzeichnis kopieren immer kopieren
  10. Neu veröffentlichen

In meinem Fall genug, um nur eine Bibliothek hinzuzufügen System.Net.Http .

    
Serhii Kyslyi 20.09.2013, 13:09
quelle

Tags und Links