68

vs2012 で vs2010 ソリューションを開きましたが、2008 年から 2010 年にかけて変換が行われませんでした。したがって、私のソリューションはまだ 10 ラベルと同じままです。もちろん、新しいソリューションを作成すると、11のラベルが付けられます。そのように実行するのに問題はありませんが、興味があります。違いはありますか?はいの場合、vs2012 ソリューションに変換する方法は?

4

10 に答える 10

106

ソリューション ファイルを「変換」して、.SLN ファイルの「# Visual Studio 2010」を含む行を「# Visual Studio 2012」に変更することができました。

于 2012-09-13T13:02:38.940 に答える
90

ソリューション ファイルを手動で編集する必要はなく、推奨されません。VS2012 で VS2010 ソリューションを開き、(ソリューション エクスプローラーの最上部にある) ソリューションを左クリックして、 [ファイル] | [ファイル] を使用するだけです。名前を付けて保存して、元のファイルを上書きします。これにより、VS2010 ソリューション ファイルが VS2012 ソリューション ファイルに効果的に変換されます。

于 2013-04-02T23:23:59.000 に答える
32

いくつかの例外がありますが、ほとんどの場合、VS2012 と VS2010 SP1 の両方で同じプロジェクト ファイルとソリューション ファイルを開くことができます。

VS2012最初にプロジェクトを開いたときにプロジェクトを変換する場合がありますが、変更は (リンクされたドキュメントに記載されている場合を除き) VS2010 との下位互換性があります (つまり、ロード時にいずれかのバージョンにのみ適用する必要がある条件を使用します) ほとんどのプロジェクト タイプは完全に変更されませんが、 .

于 2012-08-23T15:48:46.620 に答える
6

VisualStudio2012の互換性についてです

VisualStudio2010でServicePack1(SP1)を使用してアセットを作成した場合、アセットの多くはVisual Studio 2012で読み込まれ、実行されます。これ以上の操作は必要ありません。

Visual Studio 2012でアセットを開いた後でも、多くのアセットはSP1を使用してVisualStudio2010でも問題なく再び開きます。

于 2012-08-23T15:44:06.003 に答える
6

C++ プロジェクトの場合、2012 コンパイラ (VC11) は明示的に 2012 であるプロジェクトでのみ使用され、VS 2012 で開かれた 2010 プロジェクトでは使用されないため、違いが生じます。一部の C++11 の改善点は VC11 コンパイラで利用できますが、VC11 コンパイラでは利用できません。 VC10 (概要については、このSO Answerを参照してください)。以下を含みます。

  • 範囲ベースの for ループ
  • 新しい標準ライブラリ ヘッダー (アトミック、ミューテックス、スレッドなど)
  • より小さい標準ライブラリ コンテナ サイズ
  • (さらに、2012 年 11 月の CTPが VS 2012 に配信されたときに、さらに追加する予定です)

VS 2010 プロジェクトから VS2012 に変換するために、ソリューション ファイルを手動で編集したり、既存のプロジェクトに「名前を付けて保存」する必要はありません。その代わり:

最初にプロンプ​​トが表示されたときに更新を拒否した場合は、 [プロジェクト] メニューを開き、 [メニュー オプションの上部にある] [ VC++ プロジェクトの更新] を選択して、後でプロジェクトを更新できます。

MSDN の「方法: Visual C++ プロジェクトを Visual Studio 2012 にアップグレードする」から
(このページは @Joachim のMSDN リンクからリンクされていますが、他の多くの回答がこの VS 2012 の代わりに手動の回避策を提案しているため、ここで回答が必要でした。特徴)

于 2013-05-22T23:02:50.463 に答える
2

私の場合、Visual Source Safe のものをいくつか持っていました (私のプロジェクトは Visual Studio 2003/2005 で作成されました。はい、非常に古いものです!)

VSS を手動で削除すると、変換は成功しました。PS: VS2010 に関することは知っていますが、これは他の人に役立つかもしれません。

于 2013-12-02T13:59:36.673 に答える
1

特定の問題の解決策をグーグルで検索しているときに、この質問に出くわしました: 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 によって説明されており、私が理解しているように、ソリューション ファイルのクロスバージョン互換性を有効にする際に行ったいくつかの決定に要約されます。解決策は簡単でした。次のように、VisualStudioVersion プロパティを MSBuild 呼び出しに追加します。

msbuild.exe MyAwesomeWeb.sln /p:VisualStudioVersion=11.0

実際には、これは各 csproj ファイルで以下をオーバーライドします。

<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>

おそらく、これらすべてを手動で編集して 10.0 を 11.0 に置き換えても同じ結果が得られると思われますが、下位互換性が失われる可能性があります。私は試していません。問題が解決しないかどうかを確認するために、VS2013 への更新も試みていません。

質問に答えてこれをまとめると、はい、「変換」する前に(他の回答者が提供する方法を使用して)いくつかの違いがあり、その後もいくつかの違いが残ります。

于 2014-06-06T16:24:55.293 に答える
1

次のようにして、プロジェクトを VS2010 から VS2012 に変換できます。

  1. ソリューション エクスプローラーでソリューションを右クリックし、[追加] --> [既存のプロジェクト...] を選択して、2010 プロジェクトを VS2012 ソリューションに追加します。

  2. プロジェクトがソリューションに表示され、その名前に (Visual Studio 2010) が追加されます。

  3. 追加したプロジェクトを右クリックし、[プロパティ] を選択します。

  4. [構成プロパティ] --> [全般] ペインで、[プラットフォーム ツールセット] フィールドの設定を Visual Studio 2012 (v110) に変更します。

  5. リリースやデバッグなど、構成の種類ごとに繰り返します。

于 2014-04-23T17:25:33.970 に答える
0

これは少し異なりますが、同じ行に沿っているため、誰かに役立つ場合に備えて:

ロードしているように見えるプロジェクトをロードしていて、すべてのプロジェクトが使用不可として表示され続けました。移行レポートにエラーはありませんでした。ここでの提案を含むさまざまな方法を使用して、ソリューションとプロジェクトを何度もリロードしようとしました。

最後に、ソリューション エクスプローラーでソリューションを右クリックすると、[エラーの解決] オプションが見つかりました。VS は再度ロード プロセスを実行し、機能しました。問題はありません。

そのときの違いはわかりませんが、明らかに違いがありました。

于 2013-11-09T00:29:58.067 に答える
0

.sol ファイルを編集してバージョンを 11 に変更するだけです。

このような

Microsoft Visual Studio ソリューション ファイル、フォーマット バージョン 12.00

ビジュアル スタジオ 2012
于 2013-11-14T12:03:41.130 に答える