Vs2010でvs2010ソリューションを開きましたが、2008年から2010年にかけては変換が行われませんでした。そのため、私の解決策はまだ10個のラベルと同じままです。もちろん、新しいソリューションを作成するときには、11個のラベルが付いています。私はそのような実行に問題はありませんが、興味があります。違いはありますか?はいの場合、vs2012ソリューションに変換する方法は?
いくつかの例外があります 、ただし、ほとんどの場合、VS2012とVS2010 SP1の両方で同じプロジェクトファイルとソリューションファイルを開くことができます。
VS2012may最初にプロジェクトを開いたときにプロジェクトを変換しますが、変更は(リンクされているドキュメントに記載されている場合を除き)VS2010と下位互換性があります(必要に応じて条件を使用します)ロードされたときにどちらかのバージョンにのみ適用されます)ほとんどのプロジェクトタイプは、完全に変更されません。
ソリューションファイルを「変換」して、.SLNファイルで「#Visual Studio 2010」を含む行を「#Visual Studio 2012」に変更しました。
ソリューションファイルを手動で編集する必要はないか、推奨されません。 VS2012でVS2010ソリューションを開き、ソリューション(ソリューションエクスプローラーの最上部)を左クリックしてから、File |を使用します。 名前を付けて保存元のファイルを上書きします。これにより、VS2010ソリューションファイルがVS2012ソリューションファイルに効率的に変換されます。
Visual Studio 2012の互換性についてです
Visual Studio 2010 Service Pack 1(SP1)でアセットを作成した場合、それらの多くはVisual Studio 2012で読み込まれ、実行されますが、それ以上の操作は必要ありません。
多くのアセットは、Visual Studio 2012でそれらのアセットを開いた後でも、Visual Studio 2010 SP1でも問題なく再び開きます。
C++プロジェクトの場合、違いがあります。2012コンパイラ(VC11)は、VS 2012で開かれた2010プロジェクトではなく、明示的に2012のプロジェクトでのみ使用されるためです。 以下を含むVC11コンパイラー、ただしVC10 なし(概要については、この SO Answer を参照)
VS 2010プロジェクトからVS2012に変換するために、既存のプロジェクトでソリューションファイルまたは「名前を付けて保存」を手動で編集する必要はありません。代わりに:
最初にプロンプトが表示されたときに更新を拒否した場合、Projectメニューを開き、Updateを選択して、後でプロジェクトを更新できます。 VC++プロジェクト...[メニューオプションの上部]
MSDNの「 How to:Visual C++ Projects to Visual Studio 2012 」から
(このページは@Joachimの MSDNリンク からリンクされましたが、SO他の多くの回答では、このVS 2012の機能の代わりに手動の回避策が提案されました)
私の場合、いくつかのVisual Source Safeがありました(私のプロジェクトはVisual Studio 2003/2005で作成されました、はい、とても古い!)
VSSのものを手動で削除すると、変換は成功しました。 PS:VS2010についてだと知っていますが、これは他の人にも役立つかもしれません。
特定の問題の解決策を探しているときにこの質問に遭遇しました:MSBuildは、コマンドラインから(特にTeamCityを介して)呼び出されたときにVS2010で開始されたVS2012ソリューションに対して発行ターゲットを実行できませんでした:
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
MSBuildは、VS10の場所(C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\2.3\Microsoft.WindowsAzure.targets)でAzure SDK 2.3ターゲットを探していました。原因はSayed Ibrahim Hashimiによって ブログ投稿 で説明されており、私が理解したように、ソリューションファイルのバージョン間互換性を有効にしながら、彼らが下した決定に要約されます。ソリューションは簡単でした。MSBuildの呼び出しにVisualStudioVersionプロパティを追加します。次のようなものです。
msbuild.exe MyAwesomeWeb.sln /p:VisualStudioVersion=11.0
実際には、これにより、各csprojファイルの次の内容が上書きされます。
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
おそらく、これらすべてを手作業で編集して10.0を11.0に置き換えることで同じ結果を得ることができますが、後方互換性が損なわれる可能性があります-私は試していません。また、VS2013の更新を試みて、問題が解決するかどうかを確認していません。
質問に答えてこれをまとめると、はい、「変換」する前に(他の回答者が提供する方法を使用して)いくつかの違いがあり、その後いくつかの違いが残ります。
以下を実行して、プロジェクトをVS2010からVS2012に変換できます。
ソリューションエクスプローラーでソリューションを右クリックし、[追加]-> [既存プロジェクト]を選択して、2010プロジェクトをVS2012ソリューションに追加します。
プロジェクトがソリューションに表示され、その名前に(Visual Studio 2010)が追加されます。
追加したプロジェクトを右クリックして、[プロパティ]を選択します。
[構成プロパティ]-> [一般]ウィンドウで、[プラットフォームツールセット]フィールドの設定をVisual Studio 2012(v110)に変更します
構成タイプごとに繰り返します。リリースとデバッグ。
これはわずかに異なりますが、同じ行に沿っているので、万人に役立つ場合があります:
読み込み中のように見えるプロジェクトを読み込み、すべてのプロジェクトを利用不可として表示し続けました。移行レポートにはエラーはありませんでした。ここで提案を含むさまざまな方法を使用して、ソリューションとプロジェクトを何度もリロードしました。
最後に、ソリューションエクスプローラーでソリューションを右クリックすると、[エラーの解決]オプションが見つかりました。 VSは再びロードプロセスを実行し、機能しました。問題はありません。
私はその時どう違うのか分かりませんが、どうやら違いをもたらしたようです。
.solファイルを編集してバージョンを11に変更するだけです。
このような
Microsoft Visual Studioソリューションファイル、形式バージョン12.00