web-dev-qa-db-ja.com

Visual Studioがソリューションファイルを開けない

VSプロジェクト(他の人が作成したもの)があり、それをVisual Studio 2008で開こうとすると、次のエラーメッセージが表示されます。

「選択したファイルはソリューションファイルですが、このアプリケーションの新しいバージョンによって作成されたため、開くことができません」

VSには下位互換性があると思いました。これを開く方法はありますか?

12
109221793

VSは後方互換性あり、はい-VS 2008でVS 2005ソリューションファイルを開くことができます。 forward互換性はありませんが、おそらくそのソリューションはVS 2010を使用しているユーザーによって作成されたものと思われます。私はこれを自分で確認していません。

幸い、ソリューションファイルには互換性がありませんが、VS 2008で新しいソリューションを作成し、2010で作成された既存のprojectファイルを使用できる限り、それらを追加できるはずです。 VS2010固有の機能(プロジェクト構造またはコード自体のいずれか)。コードが.NET 4をターゲットにしている場合は、プロジェクトファイルを調整して.NET 3.5にもターゲット変更する必要がある場合があります。

これに関する警告(不明なツールのバージョンなど)が表示される場合がありますが、問題なく機能する可能性があります。 VS2008とVS2010で別々のsolutionファイルがあるが、同じprojectファイルを使用しているプロジェクトがいくつかあります。

16
Jon Skeet

Slnファイルとcsproj/vbprojファイルを手動で編集して、その方法を試すことができます。私はこの方法を副作用なしで使用しました。 slnファイルでは、VS2010の最初の行は次のようになります。

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

vS2008ソリューションの場合:

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008

また、2010年のプロジェクトファイルには、次のようなセクションがあります。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

これは次のように変更する必要があります

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />

これらの2種類の変更のみで、VS 2008でソリューションとプロジェクトを開くことができました。もちろん他の違いが生じる場合がありますが、時間がある場合は、管理するまで常にtry/failメソッドを使用できます。

38
CyberDude

解決:

ステップ1:プロジェクトが存在するプロジェクトの場所に移動します。 slnファイルが保持され、それを右クリックして、[プロパティ]を選択します。以下のように「読み取り専用」のチェックを外します。

ステップ2:もう一度、プロジェクトの場所に移動します。 slnファイルが保持され、右クリックしてメモ帳で開き、ファイルの「Microsoft Visual Studioソリューションファイル、フォーマットバージョン12.00」を「Microsoft Visual Studioソリューションファイル、フォーマットバージョン11.00」に変更します。

3
Pratik Panchal