2015-10-25 22 views
5

に、.NET Frameworkのバージョンターゲットを変更することはできません。私はそれを有効にする必要があると思う/ clrコマンドでコンパイルしようとしていますか?私はユニティで使用するためのDLLを構築しようとしていると私は、適切なフレームワークを選択することができるようにしたい enter image description hereは、私は私のC++プロジェクトのために、.NET Frameworkのバージョンターゲットを変更したい、VS 2015 C++プロジェクト

は、ここでのスクリーンショットです。

私は.vxprojファイル内の情報を変更しようとしましたが、私は右のタグを見つけることができないと私はそれを自分自身を追加するとき、それはエラーをスローします。

EDIT:

これは私が前に書いたC++コードを使用するC#で呼び出すことができるメソッドを含むコードです。私はCLRのクラスライブラリの.hファイルを編集した(ので、.cppファイルは、私が考える問題ないはずヘッダを含めている)

#pragma once 
#include "PortAudioManager.h" 

using namespace System; 

namespace PortAudioWrapper { 

public ref class PortAudioManaged 
{ 
private: 
    PortAudioManager* audioManager; 
public: 
    PortAudioManaged() : audioManager(new PortAudioManager()) { 
    } 

    virtual ~PortAudioManaged() { 
     this->!PortAudioManaged(); 
    } 

    // = Object.Finalize 
    !PortAudioManaged() { 
     delete audioManager; 
     audioManager = nullptr; 
    } 

    void openStreamManaged() { 
     audioManager->openStream(); 
    } 

    void stopStreamManaged() { 
     audioManager->stopStream(); 
    } 
}; 
} 
+0

** Commoをクリックするとどうなりますか言語ランタイムサポート**ダイアログの行?それはより多くのオプションを持つ '...'を表示しますか? –

+0

これだけ:http://i.imgur.com/Clopmy1.jpg – Dries

+0

この設定は、VS2015で追加されましたが、実装されていません。 C++/CLIプロジェクトでは、マルチターゲティングで解決すべきいくつかの非常に厄介な問題があります。かなり彼らは対処されることはほとんどありません。実際には、Visual C++> CLRノードのプロジェクトテンプレートを使用してプロジェクトを開始するのが最も良い方法です。すべての設定と設定を正しく行う最良の方法は、少なくとも設定で選択したバージョン番号が表示されることです。 –

答えて

4

あなたはhttps://msdn.microsoft.com/en-us/library/ff770576.aspx

のガイドに従うことができるはずです

C++であなたがターゲットにすることができます.NETフレームワークを使用すると、選択したツールセットに依存しています。あなたが作業したいと思っているフレームワークをサポートする古いバージョンのVSをダウンロードする方が簡単かもしれません。私はちょうどセクションを作成したプロジェクトファイルで

は、以下のようになります。

VS2015を使用して
<PropertyGroup Label="Globals"> 
    <ProjectGuid>{48ACEC98-3369-486F-9033-8C433D408570}</ProjectGuid> 
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion> 
    <Keyword>ManagedCProj</Keyword> 
    <RootNamespace>ClassLibrary1</RootNamespace> 
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> 
</PropertyGroup> 
+0

私はvcxprojファイルでそのエントリを見つけることができないようです。 – Dries

+0

あなたの他の試みの間に削除される可能性がありますか?新しいプロジェクトを作成してそこにコピーすることができます。私はちょうど今作ったものの、ちょうど私が答えに編集したもののように見える。 –

+0

C++ DLLプロジェクトを作成しましたか?私はこのように作成された新しいプロジェクトを試しました:新しいプロジェクト - > Win32コンソールアプリケーション - >(オプション)Empty Project、DLL、未チェックのプリコンパイル済みヘッダー。この方法では、vcxprojファイルにTargetFrameworkのタグはありません – Dries

2

、私は3.5から4.5.1に管理C++ DLLの純目標をアップグレードする必要がありました。構成プロパティ - 一般的な設定では、「.NET Frameworkのバージョンターゲットは」グレー表示され、その値ボックスは編集できません。

  1. メモ帳でName.vcxprojファイルを開きます。
  2. 移動するには: "< "PropertyGroupラベル=" グローバル" ""
  3. 追加: "< "TargetFrameworkVersion"" V4.5.1" < "/ TargetFrameworkVersion"
  4. 保存、更新プロジェクトファイル、およびVSS2015にリロード。

注:角括弧の周りに「」を削除し プロジェクトをVS2015にリロードされたときにその後、あなたは設定にリストされている.NETバージョンを見ることができます私のケースでは、V4.5.1た

関連する問題