0

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


Antwort

0

Ich fand, dass nach dem Wechsel, einige Referenzen in der Die Projektdatei der Anwendung verweist weiterhin auf MSBuild 1.5.0. In meinem Fall enthielt die Datei gt_strd5.sfproj vier Referenzen, die von 1.5.0 auf 1.6.0 aktualisiert werden mussten. Sehen Sie sich die Snippets aus dem XML unten an.

Import Projekt = ".. \ Packages \ Microsoft.VisualStudio.Azure.Fabric. MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.props" Bedingung = "exists (‘. . \ packages \ Microsoft.VisualStudio.Azure.Fabric. MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.props ') " ..... Importieren Sie Project =" .. \ packages \ Microsoft.VisualStudio.Azure.Fabric MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.targets "Bedingung =" vorhanden ('.. \ packages \ Microsoft.VisualStudio.Azure.Fabric MSBuild.1.5.0 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.t argets ') "

Um dies zu überprüfen, ging ich ein paar Mal zurück und war in der Lage, sowohl das Problem und diese Lösung zu reproduzieren.

Ich hoffe, es spart jemand anderen Zeit. Mit freundlichen Grüßen

Verwandte Themen