Wenn VS2017 zum Erstellen einer statusbehafteten Lösung verwendet wurde, die den Standard-Boilerplate-Code erzeugt, haben die resultierenden zwei Projekte zwei verschiedene MSBuild-Versionen. Die Anwendung verwendet MSBuild Version 1.5.0. Der Dienst verwendet MSBuild Version 1.6.0 (das aktuelle "neueste").VS2017 MSB4057 Das Ziel "CreateManifestResourceNames" ist im Projekt nicht vorhanden.
Wenn ich die Lösung auf diese Weise ausführen, funktioniert es gut auf meinem lokalen Service Fabric-Cluster.
Aber wenn ich NuGet verwenden, um das MSBuild der Anwendung auf 1.6.0 zu aktualisieren (so verwenden sowohl Anwendung als auch Server-Projekte dasselbe), treten die folgenden Fehler auf.
Severity Code Beschreibung Projektdatei Zeilenunterdrückungszustand Fehler Die OutputPath Eigenschaft wird für Projekt ‚gt_strd5.sfproj‘ gesetzt. Stellen Sie sicher, dass Sie eine gültige Kombination aus Konfiguration und Plattform für dieses Projekt angegeben haben. Configuration = 'Debug' P verfolgt eine Projekt-zu-Projekt-Referenz zu diesem Projekt, dieses Projekt hat belatform = 'x64'. Dieser Fehler kann auch auftreten, wenn ein anderes Projekt versucht, entladen oder nicht in die Lösung aufgenommen zu werden, und das referenzierende Projekt nicht mit derselben oder einer entsprechenden Konfiguration oder Plattform erstellt wird. gt_strd5 C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 737
Severity Code Beschreibung Projektdatei Zeilenunterdrückungszustand Fehler MSB4057 Das Ziel " CreateManifestResourceNames "existiert nicht im Projekt. gt_strd5 C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 2630