2017-04-07 27 views
-1

MSVC 12.0 Visual Studio 2013(C++/CLIおよびC#)でコンパイルされたソリューションがありますが、Visual Studio 2015(Community)のみがあります。私は目的のためにソリューションの1部(5個)を再構築し、他のDLLと互換性を持たせたいので、MSVC 12.0を使用してプロジェクトを作成したいと思っています。 MSVC 14.0(Visual Studioの2015)からそれを構築しようとすると、それは言う:もちろんMicrosoft Visual Studio 2015からMSBuild 12.0を使用してコンパイルする

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120') cannot be found.

を私はMSがここから2013年(MSVC 12.0、V120)をビルドツールインストール:https://www.microsoft.com/en-us/download/details.aspx?id=40760だけでなく、マイクロソフトVisual C++ Redistributable 2013パッケージ。

12.0ビルドツールのための正しいインストールディレクトリは、それが間違ったディレクトリでビルドツールを探しているので、それは解決策に(または一般的にはVisual Studioで)設定エラーのように見えます

です。誰もが14.0の代わりにMSBuild 12.0でコンパイルするためにVisual Studioで変更/追加する必要がある設定を知っていますか?私は何か他のものを使用しないので、Visual Studio 2013をインストールしない方がいいです(VS 2015を必要に応じてVS 2013 MSBUILDを使用するオプションが必要です)。

+0

誰がこれを下落させたのかよく分からないので、あとは答えていません。私は、Visual Studio 2013をインストールせずにVisual Studio 2015を使ってVisual Studio 2013プロジェクトを構築しようとしています。以前のプロジェクトを使用する前に他の人がこの問題を抱えていたことは確かです。その人がなぜ私の質問を明確にすることができるdownvoteについてコメントすることができれば。 – Matt

+0

コマンドプロンプトを使用して、プロジェクトとソリューションのToolsVersion設定を上書きしようとしましたか:msbuild.exe someproj.proj /tv:12.0? –

+0

@ Leo-MSFTはい、しかし、MSBuildコマンドはVisual Studioに埋め込まれているので、私は試してみました。 – Matt

答えて

0

私はラウンドアバウトの方法でこれを稼働させました。答えてコメントした他の人に感謝します。 Microsoft Visual Studio Dev Essentialsサブスクリプションに無料でお申し込みください。 https://azure.microsoft.com/en-us/pricing/member-offers/vs-dev-essentials/その後、このリンクに移動してhttps://my.visualstudio.com/downloads?wt.mc_id=o~msft~vscom~older-downloads&campaign=o~msft~vscom~older-downloadsを見つけて、メニューからVisual Studio Community 2013をダウンロードできます。その後、Visual Studio 2015からMSVC 12.0をビルドすることができます。もちろん、完璧ではありませんが、動作します。私はVisual Studio 2013をまだアンインストールしようとしていません(Windows Phone SDK 8.1は、2015年のエンタープライズ版で動作するように2013年にインストールされています)が、何とかそれを保持して2013年版私はそれが2013年がインストールされていなくても動作すると信じています...

+0

あなたの問題を解決したことを知ってうれしいです。同じ問題を抱えている他のコミュニティにとって有益な答えを記入してください。ありがとう。 –

0

あなたはこの

<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

に変更し、あなたの.vcxprojの一番上に移動した場合、コンパイラのバージョンが指定されているので、次に、あなたの.slnがまだ開いてVisual Studioで2015

VisualStudioVersion = 14.0.25420.1 

理由があることができますプロジェクトごとに、ソリューションバージョンを上書きします。

+0

これは既に 'vcsproj'プロジェクトで指定されているものです。この問題は、Visual Studio 2015が実際にここにあるV12.0ビルドツールのために 'C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ :\ Program Files(x86)\ MSBuild \ 12.0 \ Bin \ amd64' - Visual Studioに14.0パスの代わりに12.0ビルドツールを探す方法を探そうとしていました。 – Matt

+0

プロジェクトのプロパティに行くと、 'General'>' Platform Toolset'には何がありますか? 'Visual Studio 2013(v120)'に設定されていますか? – CoryKramer

+0

'Visual Studio 2013(v120)(インストールされていません)' - ビルドツールで十分だろうと思っていました。 – Matt

0

Visual Studio 2013は、他の用途には使用しないのでインストールしたくないです(必要に応じてVS 2015をVS 2015で使用するオプションが必要です)。

あなたは、2015インストーラからのVisual Studio 2013をインストールすることなく、あなたのVS2015インストーラからVS2013ツールセットのバージョンをインストールするのVisual C++ 2015のためのWindows 8.1とWindows Phoneの8.0/8.1ツール共通のツールを選択することができます。

enter image description here

インストールが完了したら、以下のプラットフォームツールセット見つける:

次に、プラットフォームツールセットVisual Studio 2013(v120)でプロジェクトを構築できます。

similar questionから詳しい情報を参照できます。

+1

上記のおかげで、私は他の場所でポストを見たが、そのオプションを持っていないVSコミュニティを使用している(エンタープライズは) – Matt

+0

はい、あなたは正しいです。私はVSコミュニティとエンタープライズで異なることに気づいていません。 Visual Studio 2013をインストールするか、Visual Studio Enterpriseを使用する必要があるようです。 –

関連する問題