Frage

Hallo Ich habe Setup Visual Studio Express c ++ Projekt, mit Pfaden zu enthalten Header und Bibliotheken Nun Ich mag dieses Projekt duplizieren mit den gleichen Pfaden zu enthalten Header und Bibliotheken zu sein Aber mit anderen Namen, weiß ich nicht, was von Hand in VCPROJ-Datei zu gehen und zu Änderungen Namen beginnen Gibt es eine bessere Art und Weise?

War es hilfreich?

Lösung

Die wahrscheinlich einfachste und schnellste Weg, dies zu tun, ist mit dem Windows Explorer nur eine Kopie des gesamten Projekts zu machen. Sie werden höchstwahrscheinlich müssen die kopiert zuweisen VCPROJ eine neue, eindeutige GUID-Datei. Dazu öffnen Sie die Datei in Notepad und in einem neuen ProjectGUID von guidgen.exe oder ähnlicher Anwendung einfügen. Sobald Sie das getan haben, können Sie einfach das doppelte Projekt in Visual Studio öffnen und wieder nennen es.

Alternativ könnten Sie so etwas wie versuchen CopyWiz (obwohl ich es nie benutzt habe, gibt es eine kostenlose Testversion zur Verfügung, um zu sehen, ob es für Sie arbeitet).

Es sei denn, Sie versuchen, eine Vorlage für neue Projekte zu schaffen, in diesem Fall gibt es eine bessere Art und Weise .

Andere Tipps

Das schrieb die für mich funktioniert, wenn in Powershell ausgeführt werden (wird mit Win 7 und andere) Auch wenn es für Sie nicht richtig funktioniert, kann es ein guter Ausgangspunkt sein.

# set the initial values. 
[System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
[Windows.Forms.MessageBox]::Show(“This script assumes that each project lives in a directory with the same name as the project, as VC defaults to. Input a) the directory holding both the existing project and the new project. This is the directory CONTAINING the directory with the name of the existing project. It must include the final backslash. b) the name of the existing project. c) the name of the new project”, “”, [Windows.Forms.MessageBoxButtons]::OK,     [Windows.Forms.MessageBoxIcon]::Information)
($myroot=(Read-Host "Enter path of directory holding new and existing projects."))
($projectname=(Read-Host "Enter the name of the project to copy. Must be a single word"))
($newname=(Read-Host "Enter the name of the new project. Must be a single word"))

# make a copy of the original
Set-Location $myroot
Copy-Item "$myroot$projectname" "$myroot$newname" -recurse


# find and rename all files containing the original project name
# run without recurse first or an error occurs
Get-ChildItem $myroot$newname\ -force| Where-Object {$_.name -like "*$projectname*"}| rename-item -newname { $_.name -replace "$projectname","$newname" }
Get-ChildItem $myroot$newname\ -force -recurse| Where-Object {$_.name -like "*$projectname*"}| rename-item -newname { $_.name -replace "$projectname","$newname" }

# find all references within the code to the projectname and change those
Set-Location $myroot$newname
Get-ChildItem  -recurse | where {$_.extension -eq ".cpp"-or $_.extension -eq ".h" -or $_.extension -eq ".sln" -or $_.extension -eq ".vcxproj" -or $_.extension -eq ".rc"} `
|foreach-object {(get-content $_.fullname) | foreach-object {$_ -replace "$projectname", "$newname"} | set-content $_.fullname}

# delete sdf and suo files
remove-item $myroot$newname\$newname.suo -force
remove-item $myroot$newname\$newname.sdf -force


#done
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top