Eine alternative Methode besteht darin, die Elemente nur als Typ zu belassen None
. Klicken Sie im Lösungs-Explorer auf diejenigen, die Sie bereitstellen möchten, und legen Sie die Content
Eigenschaft fest True
.
Hinweis: Ich habe dies in VS2019 getan und die Dinge können sich von Version zu Version ändern.
Damit dies funktioniert, klicken Sie jetzt mit der rechten Maustaste auf Ihr Projekt und wählen Sie "Projekt entladen". Klicken Sie dann mit der rechten Maustaste auf das entladene Projekt und wählen Sie "Projektname.vcxproj bearbeiten".
Gehen Sie im Editor bis zum Ende der Datei und fügen Sie dieses Ziel direkt vor dem nachfolgenden </Project>
Tag ein:
<Target Name="CopyContent" AfterTargets="Build">
<Copy SourceFiles="@(None)" Condition="'%(None.DeploymentContent)' == 'true'" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
Klicken Sie nun mit der rechten Maustaste auf das entladene Projekt und wählen Sie "Projekt neu laden". Wählen Sie zum Speichern und Schließen, wenn Sie dazu aufgefordert werden.
Ich habe auch Folgendes eingestellt OutputDirectory
:
$(SolutionDir)bin\$(Configuration)\$(Platform)\
und das IntermediateDirectory
zu:
$(SolutionDir)obj\$(Configuration)\$(ProjectName)\$(Platform)\
auf der Seite Projekteigenschaften Allgemein. Dadurch wird die Ausgabe in einem "bin" -Ordner und die Zwischenprodukte in einem "obj" -Ordner im Stammverzeichnis Ihrer Lösung abgelegt.
Hinweis: $(SolutionDir)
Dies ist nicht definiert, wenn Sie MSBuild über die Befehlszeile ausführen. Mit GetDirectoryNameOfFileAbove können Sie diesen Trick in einem Ordner definieren, in dem sich die SLN-Datei befindet. (links als Übung für den Leser). Es sieht auch so aus, als würden sie 2019 in der Kommandozeile sowieso richtig damit umgehen. Ja :) Das $(SolutionDir)
enthält einen nachgestellten Backslash, daher keinen danach. Die Ergebnisse müssen jeweils einen nachgestellten Backslash aufweisen.
Wenn Sie Pro oder höher besitzen, tun Sie dies bitte nicht jedes Mal, wenn Sie ein Projekt erstellen müssen. Das wäre lahm. Wählen Sie stattdessen, sobald Sie Ihr Projekt so eingerichtet haben, wie Sie es möchten Project -> Export Template
. Sie geben ihm einen Namen und wenn Sie das nächste Mal ein Projekt wie dieses erstellen möchten, wählen Sie diesen Namen einfach im Dialogfeld "Neues Projekt". (In der älteren Version war das meiner Meinung nach so Files -> Export Teamplate...
.)