プロジェクトフォルダの名前を変更するための私の現在の解決策は、次のとおりです。
もっと良い方法はありますか?
TFSユーザー:ファイルやフォルダの名前を変更する前に警告する必要があるソース管理を使用している場合は、代わりにこの回答を参照)これは必要な追加のステップをカバーしています。
プロジェクトの名前を変更するには、ビジュアルスタジオでfolder、file(.*proj
)、display nameとします。
.sln
ファイルを直接開き、そこでパスを更新します。 (TFSなどで最初に解決策をチェックアウトする必要があるかもしれません)注:プロジェクトをソリューションから削除してから再度ソリューションを追加することを含むその他の推奨される解決策は、プロジェクトの参照を壊すことになります。
これらの手順を実行する場合は、以下の名前を一致させることも検討してください。
以下の値を変更することも検討してください。 Assembly attributes :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
* .sol、* csprojファイルを使用してこれを行う別の方法があります。
それは次のようになります(* .solファイルを基準にして)。
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
最初の部分を新しいディレクトリに変更するだけです。
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
もちろん、プロジェクト全体をそのディレクトリに移動することを忘れないでください
楽しむ。
これはVS 2015では簡単です (おそらく古いバージョンでも動作します)
Main solution > Rename
を右クリックproject (under solution) > Rename
を右クリックProperties >
goto Applicationタブをダブルクリックするか右クリックし、一致するようにAssembly name
とDefault namespace
の名前を変更します。namespace > Rename...
を右クリックすると、名前空間への参照がすべて検索され、置き換えられます。project folder
の名前を変更します。.sln
ファイルを編集し、パスをcjprojに変更します。すなわちfu\bar.csproj --> bar\bar.csproj
男、私はこれに苦労しましたか。残念ながら、Visual Studioにはワンクリックソリューションはありませんが、 Visual Studio 2012 を使用していて、プロジェクトが Team Foundation Server のソース管理下にある場合は、以下のようにします。ソースの履歴を残しながら:
(彼があなたがステップ5-10を飛ばすことができると注意するので、あなたが下記の@ mjvのコメントを読むことを確認してください)
上記のガイドは私のために働きました。うまくいかない場合は、ローカルソリューションを完全に削除してから、ワークスペースのフォルダマッピングを削除してください。念のためVisual Studioを再起動します。実際にコンピュータからソリューション全体を削除したことを確認してください。今すぐあなたのワークスペースへのソリューションマッピングを読み、最新バージョンを入手してください。今すぐ上記の手順を試してください。上記の手順を実行中に何か問題が発生した場合も同様です。ソリューションをローカルで削除して最新のソースを入手するだけで、きれいに作業することができます。
それでも問題が解決しない場合は、ソリューションファイルで手動で何も変更していないこと、または上記の手順を試す前に他の「トリック」を試していないことを確認してください。何かを変更してチェックインした場合は、プロジェクトの名前を変更する前にロールバックすることを検討してください。
もちろん、ソリューションエクスプローラーでプロジェクト自体の名前を変更することもできます。上記の手順の前にこれを実行できますが、その場合は、上記の手順を適用する前に必ずその変更をチェックインしてください。後で実行することもできますが、最初に上記の手順をすべて実行し、ソリューションエクスプローラでプロジェクト名を変更する前に変更内容を確認してください。ソリューションエクスプローラーで上記の手順をプロジェクト名の変更と混在させることはお勧めしません。それはうまくいくかもしれませんが、私は2つの別々のチェンジセットでそれをすることをお勧めします。
現在、いいえ。実際には、壊れたプロジェクトノードをクリックし、プロパティペインでプロパティ「Path」を探してから、小さな参照アイコンをクリックして新しいパスを選択します。
Voila :)
より簡単な解決策は次のとおりです。
必要な手順は4つありますが、7つをお勧めします。一日の終わりにプロジェクトは完全に名前が変更されますが。技術的には、プロジェクトのフォルダ名はプロジェクト自体と一致させる必要はないため、その手順でも任意選択ですが、一致しない場合は混乱する可能性があります。アセンブリ名と名前空間の名前も同じです。
Andersjanmyrの答えでは、最初にプロジェクトの名前を変更する方が簡単です。
また、これらのステップが実行された後、あなたはあなたの古いプロジェクト名に他の参照を改名したくなるかもしれません。
プロジェクトプロパティで、アセンブリ名と既定の名前空間を更新します。これにより、プロジェクトファイルの次の内容が更新されます。
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
...そして、「名前空間はファイルの場所に対応していません。 'SomeProjectName'にする必要があります」というエラーを取り除きます。
ルートネームスペースの名前を変更します(リシャーパーがある場合は、ネームスペースを右クリックして[リファクタリング] - > [名前の変更]を選択します)。
AssemblyInfo.cs内の古いプロジェクト名の発生をすべて変更します。
VS2017の場合は、私のビジュアルスタジオ拡張を使用することができます
プロジェクト名を変更します。
私はこれを自分でしなければなりませんでした(VS2010を使用)。何人かの人々が答えたように、最も簡単なステップは次のように思われます:
ビジネスインテリジェンスのためのデータツールのためのVisual Studio拡張のための実証済みのソリューション(SSDT-BI 2013):
100%テストし、私のケースで完璧に動作しました。
注:Visual Studioのバージョンと異なるプロジェクトテンプレートで動作するかどうかを確認できません。いつものように、事前にすべてをバックアップしてください。
それは私のために働きました。
この質問はすでに答えられていますが、私はこの問題を解決するための私のアプローチを共有したいと思いました。私はよくVSでプロジェクトの名前を変更し、それを達成するためにフォルダ名、プロジェクト名と.slnファイルを編集するという同じ問題を抱えていました。私はちょうどそれらすべてを達成するVBScriptを書きました。あなたはあなたが置き換えるために選ぶ文字列に注意しなければなりません。
編集:あなただけのソリューションの.slnファイルと同じディレクトリに.vbsファイルを置く必要があります。
'Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
'Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
'Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
'Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
私はこれらすべてのステップを自動化する小さなツールを書きました。今のところSubversionもサポートしています。
現在のリリースに関する情報はここにあります Visual Studio Project Renamerに関する情報
Latestsリリースは、 Visual Studio Project Renamerのダウンロードページからダウンロードできるようになりました
フィードバックは大歓迎です。
Visual Studio + gitを使用していてファイルの履歴を保持したい(プロジェクトとソリューションの両方またはどちらか一方の名前を変更して動作する)場合:
1)Visual Studioを閉じます
2).gitignoreファイルで、名前を変更したいプロジェクトのすべての無視パスを、それらのパスの名前変更バージョンと複製します。
3)git moveコマンドを使ってください。
git mv <old_folder_name> <new_folder_name>
追加オプションについてはドキュメントを参照してください。 https://git-scm.com/docs/git-mv
4).slnファイルの中で:プロジェクトを定義している行を見つけて、pathの中のフォルダー名を変更します。行は次のようになります。
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
5)Visual Studioを開き、プロジェクトを右クリック - >名前の変更
6)その後、名前空間の名前を変更します。私は、resharperにはこれに対するいくつかの選択肢があることを読みました。しかし、単純な検索/置換が私のために仕事をしました。
7)古い.gitignoreパスを削除する
2017年に私にとってうまくいったこと:
それは " プロジェクトの再追加 "のようなものでした、私はすべてを再構築しました、そしてすべてが行ってよかったです。
@ andersjanmyrの解決策:利用できないプロジェクトのプロパティページを表示するためにAlt + Enterを押してそこに "ファイルパス"プロパティを設定することができます。利用できないプロジェクトの右クリックコンテキストメニュー(VS2008)では利用できないためです。
注:この修正プログラムはVisual Studio 2008用ですが、ここで機能するはずです。
.sln
ファイルを削除します。.sln
ファイルへの変更を保存するかどうかを尋ねるダイアログが表示されます。はいをクリックします。.sln
ファイルがフォルダーと同じ名前であることを確認してください。必須ではありませんが、一貫性を維持します。)完了しました。
私達は最近あなたのためにこれをする無料のVSエクステンションのベータ版をアップロードしました。 VS Galleryを見てください: Gallery Download
ソリューション内のプロジェクトおよびプロジェクトフォルダの名前を変更する
ソリューションからプロジェクトを削除
既存のプロジェクトをソリューションに追加する(名前を変更したプロジェクト)
わたしにはできる。 TFSは新しいプロジェクトも追跡します。
さて私はそれを私のやり方でやりました
TFSを使用する場合、ステップ2は実際にはソース管理でフォルダの名前を変更してからソリューションを開く前に最新のものを取得することです。
.slnをテキストファイルで開き、次の行にある新しいフォルダ名に変更します。 -4194-A103-C19AF869D965} "
フォルダ名を変更したら、メモ帳で.slnファイルを開き、パスを新しいパスに変更します。
私はこれを何度もしなければならなかった。既存のプロジェクトを再利用できますが、名前空間、ファイル、およびフォルダ内のテキストの名前を変更できることは本当に便利です。ルートフォルダから始まる再帰的な検索と置換を使用することは、名前の変更がソリューションファイルおよびプロジェクト参照内のプロジェクトへのリンクを解除しないことを意味します。
この目的のために、私はこれを実行するためのプロジェクトを作成しました。アプリケーションはまた、.git、.svn、および.vs設定ファイルなどのバージョン管理フォルダーを無視しようとします。 READMEに詳しい情報があります。
最も簡単な方法は、ウィンドウのプロパティに移動してデフォルトの名前空間の名前を変更することです。その後、名前の変更が行われます。
私は次のことをしました:
Vs2013内からプロジェクトの名前を変更します。 (オプション/不要)
プロジェクトをテンプレートとしてエクスポートします。
解決策を閉じます。
ソリューションを再開する
保存したテンプレートからプロジェクトを作成し、好きな名前を付けます。
ソリューションエクスプローラから前のプロジェクトを削除します。
この時点で私は新しいソリューションをコンパイルしようとしました、そしてそうするために私は手動で古いプロジェクトフォルダーから新しいプロジェクトフォルダーにいくつかのリソースとヘッダーをコピーしなければなりませんでした。エラーなしでコンパイルされるまでこれを行います。これで、この新しいプロジェクトは " 。exe"ファイルを前のフォルダに保存しました。
だから - >
Windowsエクスプローラに移動して、ソリューションファイルを古いプロジェクトフォルダから新しいプロジェクトフォルダに手動でコピーします。
ソリューションを閉じて、新しいプロジェクト内からソリューションを開きます。
必要に応じて設定を(x64)に戻しました。
ソリューションのフォルダから古い名前のプロジェクトのフォルダを削除します。
あるいは単純に
すべてのコードをコピーしてから、目的の名前で新しいプロジェクトを開き、コードを貼り付けます。デバッグを実行してから、前のプロジェクトを削除します。完了しました。
それは私のために働いた!
VS 2013とTFS 2013を使用しています。
私はこのようにしました:
VS 2013 Update 1でテストされ、TFS関連プロジェクトに適用可能な、より単純なアプローチがあります。
1-プロジェクトの名前をVSの外に変更します。テキストエディタでyour_project_name.slnを2-編集し、パスの名前を新しいパスに変更します。
新しいプロジェクトを作成する必要があり、プロジェクト名とは異なるプロジェクトフォルダ名が必要な場合も同様の問題が発生します。
新しいプロジェクトを作成すると、そのプロジェクトは次の場所に保存されます。
./path/to/pro/ject/YourProject/YourProject.**proj
ject
フォルダに直接格納したいとしましょう。
./path/to/pro/ject/YourProject.**proj
これを実現するための私の回避策は、パスの最後の部分を名前としてプロジェクトを作成し、追加のディレクトリを作成しないことです。
./path/to/pro/ject/ject.**proj
これでVisual Studio内からプロジェクトの名前を変更すると、VSを離れることなく目的を達成できます。
./path/to/pro/ject/YourProject.**proj
この方法の欠点は、デフォルトの名前空間とOutputバイナリの名前も調整する必要があり、プロジェクトテンプレートに含まれるすべてのファイルの名前空間を更新する必要があることです。