2015-10-25 16 views
5

nicht ändern Wie der Titel sagt, möchte ich die .NET Framework-Version für mein C++ - Projekt ändern. Ich versuche, mit dem/clr-Befehl zu kompilieren, was ich denke, sollte es aktivieren?.NET Framework-Version in VS 2015 C++ - Projekt

Hier ein Screenshot: enter image description here

Ich versuche, eine DLL für die Verwendung in der Einheit zu bauen, und ich möchte in der Lage, den richtigen Rahmen zu wählen.

Ich habe versucht, die Informationen in der .vxproj-Datei zu ändern, aber ich kann das richtige Tag nicht finden, und wenn ich es selbst hinzufüge, wirft es Fehler.

EDIT:

dies ist der Code, der die Methoden enthält, die in C# genannt werden kann, den C++ Code zu verwenden, ich vorher geschrieben habe. Ich habe lediglich den H-Datei der CLR-Klassenbibliothek (so die CPP-Datei wird mit nur den Header, die in Ordnung sein sollte ich denken)

#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

Was passiert, wenn Sie auf den ** Commo klicken n Language Runtime Support ** Zeile im Dialog? Zeigt es ein '...' mit mehr Optionen? –

+0

Nein. Nur dies: http://i.imgur.com/Clopmy1.jpg – Dries

+0

Diese Einstellung wurde in VS2015 hinzugefügt, ist aber nicht implementiert. In C++/CLI-Projekten gibt es mehrere sehr knifflige Probleme mit Multi-Targeting. Ziemlich unwahrscheinlich, dass sie jemals angesprochen werden. Es ist wirklich am besten, eine Projektvorlage aus dem Visual C++> CLR-Knoten zu verwenden, um Ihr Projekt zu starten. Bei weitem der beste Weg, um alle Konfigurationen und Einstellungen richtig zu machen, zeigt zumindest die Einstellung Ihnen die Versionsnummer, die Sie ausgewählt haben. –

Antwort

4

Sie sollten die Führung bei https://msdn.microsoft.com/en-us/library/ff770576.aspx

folgen können

Das .NET-Framework, auf das Sie in C++ abzielen können, hängt von dem von Ihnen ausgewählten Toolset ab. Es ist möglicherweise einfacher, eine ältere Version von VS herunterzuladen, die das Framework unterstützt, mit dem Sie arbeiten möchten.

In Projektdatei Ich habe gerade den Abschnitt sieht aus wie die folgende Liste:

<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

Ich kann diesen Eintrag in der vcxproj-Datei nicht finden. – Dries

+0

Vielleicht während Ihrer anderen Versuche gelöscht? Könnte versuchen, ein neues Projekt zu erstellen und es dort zu kopieren. In einem, das ich gerade gemacht habe, sieht es aus wie das, was ich gerade bearbeitet habe. –

+0

Haben Sie ein C++ - DLL-Projekt erstellt?Ich habe es mit einem neuen Projekt versucht, das wie folgt erstellt wurde: Neues Projekt -> Win32-Konsolenanwendung -> (Optionen) Empty Project, DLL, ungeprüfte vorkompilierte Header. Auf diese Weise gibt es kein Tag für das TargetFramework in der vcxproj-Datei – Dries

2

VS2015 verwenden, ich das .Net Ziel eines verwalteten C++ DLL von 3,5 bis 4.5.1 aktualisieren musste. In den Konfigurationseigenschaften - Allgemeine Einstellungen ist die ".Net Target Framework Version" ausgegraut und ihre Wertbox ist nicht editierbar.

  1. Öffnen Sie die Datei Name.vcxproj im Editor.
  2. Wechseln Sie zu: "< "Property Label =" Globals" ""
  3. hinzufügen: "< "TargetFrameworkVersion"" V4.5.1" < "/ TargetFrameworkVersion"
  4. Speichern Sie die aktualisierte Projektdatei, und laden in VSS2015 .

. HINWEIS: die „“ um die spitzen Klammern entfernen dann, wenn das Projekt in VS2015 neu geladen wird, können Sie die .NET-Version in den Einstellungen in meinem Fall war es V4.5.1

aufgeführt..