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 vernünftig, 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.Bereitstellen von System.Net.Http.dll mit ClickOnce
Einstellungen und Versionsnummern sind für beide Dateien:
Verweise auf gleiche Paket aus:
<Reference Include="System.Net.Http, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="System.Net.Http.Extensions, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.Extensions.dll</HintPath>
</Reference>
Zielplattform ist .NET 4 und Bereitstellung Voraussetzung ist auch 4 .NET und ein KB-Update
Datei ist nicht einmal in Anwendungsdateien Dialog 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.
Ich akzeptiere dies wegen des Links zu einem Support-Thread, obwohl es das Problem für mich nicht gelöst hat. Aber zumindest lässt es mich wissen, MS ist sich des Problems bewusst. Ich habe das Problem selbst gelöst, indem ich ein Powershell-Skript zum Erstellen der Bereitstellung mithilfe von mage.exe erstellt habe. Leider ist das nicht so einfach wie es sein sollte. –
Kann ich davon ausgehen, dass sich System.Net.Http.Extensions.dll und System.Net.Http.Primitives.dll im GAC befinden, wenn meine Benutzer .NET 4.5.1 installiert haben? Oder muss ich diese Dateien mit meinem Installer verteilen? – stuzor
Es ist drei Jahre später und in .Net 4.6.2 ist dies immer noch nicht behoben. –